<?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>6.1.0</version>
    </parent>

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

    <modules>
        <module>async</module>
        <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-mocks</module>
        <module>portlet-tiles</module>
        <module>rest</module>
        <module>sitemesh</module>
        <module>spring</module>
        <module>testng</module>
        <module>tiles</module>
        <module>velocity</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>javax.servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>

    </dependencies>

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