<?xml version='1.0' encoding='UTF-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more contributor
license agreements.  See the NOTICE.txt 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.oodt</groupId>
        <artifactId>oodt-core</artifactId>
        <version>0.2-incubating</version>
        <relativePath>core/pom.xml</relativePath>
    </parent>

    <groupId>org.apache.oodt</groupId>
    <artifactId>oodt</artifactId>
    <name>Apache OODT</name>
    <packaging>pom</packaging>
    <description>
        Apache OODT is middleware for metadata.
    </description>
    
    <modules>
        <module>core</module>
        <module>commons</module>
        <module>pcs/input</module>
        <module>metadata</module>
        <module>xmlquery</module>
        <module>sso</module>
        <module>filemgr</module>
        <module>catalog</module> 
        <module>workflow</module>
        <module>crawler</module>
        <module>resource</module>
        <module>curator</module>
        <module>pge</module>
        <module>mvn/plugins/cas-install</module>
        <module>pushpull</module>
        <module>product</module>
        <module>profile</module>
        <module>grid</module>
        <module>xmlps</module>
        <module>opendapps</module>
        <module>webapp/filemgr</module>
        <module>webapp/fmprod</module>
        <module>webapp/workflow</module>
        <module>app/fmbrowser</module>
    </modules>
</project>
