<?xml version="1.0" encoding="UTF-8"?>
<!--
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
-->
<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>
    <parent>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-parent</artifactId>
        <version>2.5.21</version>
    </parent>

    <artifactId>struts2-plugins</artifactId>
    <packaging>pom</packaging>
    <name>Struts Plugins</name>

    <modules>
        <module>bean-validation</module>
        <module>cdi</module>
        <module>config-browser</module>
        <module>convention</module>
        <module>dwr</module>
        <module>embeddedjsp</module>
        <module>gxp</module>
        <module>jasperreports</module>
        <module>javatemplates</module>
        <module>jfreechart</module>
        <module>json</module>
        <module>junit</module>
        <module>osgi</module>
        <module>oval</module>
        <module>pell-multipart</module>
        <module>plexus</module>
        <module>portlet</module>
        <module>portlet-tiles</module>
        <module>rest</module>
        <module>sitegraph</module>
        <module>sitemesh</module>
        <module>spring</module>
        <module>testng</module>
        <module>tiles</module>
    </modules>

    <dependencies>

        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
        </dependency>

        <!-- Test dependencies -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>

    </dependencies>

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