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

<!--  @version $Rev$ $Date$ -->

<application xmlns="http://geronimo.apache.org/xml/ns/j2ee/application-1.2"
             xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.1">

    <dep:environment>
        <dep:moduleId>
            <dep:groupId>org.apache.geronimo.testsuite</dep:groupId>
            <dep:artifactId>corba-mytime-ear</dep:artifactId>
            <dep:version>2.2-SNAPSHOT</dep:version>
            <dep:type>car</dep:type>
        </dep:moduleId>
    </dep:environment>

</application>
