<?xml version="1.0"?>
<!--
  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.
-->
<enunciate slug="falcon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:noNamespaceSchemaLocation="http://enunciate.webcohesion.com/schemas/enunciate-2.0.0-M.4.xsd">
    <namespaces>
        <namespace uri="https://git-wip-us.apache.org/repos/asf/falcon.git" id="falcon"/>
    </namespaces>
    <modules>
        <api-classes>
            <include pattern="org.apache.falcon.resource.admin.AdminResource" />
            <include pattern="org.apache.falcon.resource.proxy.InstanceManagerProxy" />
            <include pattern="org.apache.falcon.resource.proxy.SchedulableEntityManagerProxy" />
            <include pattern="org.apache.falcon.resource.metadata.LineageMetadataResource" />
            <include pattern="org.apache.falcon.resource.metadata.MetadataDiscoveryResource" />
        </api-classes>
        <docs/>
        <csharp disabled="true"/>
        <c disabled="true"/>
        <obj-c disabled="true"></obj-c>
        <java-json-client disabled="true"/>
    </modules>
</enunciate>