<?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.
  ~
  -->
<module xmlns="http://zest.apache.org/schemas/2008/dev-status/1"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://zest.apache.org/schemas/2008/dev-status/1
        http://zest.apache.org/schemas/2008/dev-status/1/dev-status.xsd">
  <status>
    <!--none,early,beta,stable,mature-->
    <codebase>beta</codebase>

    <!-- none, brief, good, complete -->
    <documentation>brief</documentation>

    <!-- none, some, good, complete -->
    <unittests>none</unittests>
  </status>
  <licenses>
    <license>ALv2</license>
  </licenses>
</module>