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

    Copyright 2005 The Apache Software Foundation

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

<!-- $Rev: 158417 $ $Date: 2005-03-20 23:25:45 -0800 (Sun, 20 Mar 2005) $ -->

<project>
    <pomVersion>3</pomVersion>
    <extend>../../etc/project.xml</extend>
    <id>javamail</id>
    <name>JavaMail</name>

    <dependencies>
        <!-- dependency on deployer -->
        <dependency>
            <groupId>geronimo</groupId>
            <artifactId>geronimo-packaging-plugin</artifactId>
            <version>${geronimo_packaging_plugin_version}</version>
            <type>plugin</type>
        </dependency>

        <dependency>
            <groupId>geronimo</groupId>
            <artifactId>rmi-naming</artifactId>
            <version>${geronimo_version}</version>
            <type>car</type>
            <properties>
                 <geronimo.import>true</geronimo.import>
             </properties>
        </dependency>

        <dependency>
            <groupId>geronimo</groupId>
            <artifactId>geronimo-mail</artifactId>
            <version>${pom.currentVersion}</version>
            <properties>
                 <geronimo.dependency>true</geronimo.dependency>
             </properties>
        </dependency>

        <dependency>
            <groupId>geronimo</groupId>
            <artifactId>geronimo-javamail-transport</artifactId>
            <version>${pom.currentVersion}</version>
            <properties>
                 <geronimo.dependency>true</geronimo.dependency>
             </properties>
        </dependency>
    </dependencies>
</project>

