///////////////////////////////////////////////////////////////
 * 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.
///////////////////////////////////////////////////////////////

:leveloffset: 1

[[libraries,Libraries]]
= Libraries =

== Overview ==

The Zest™ Libraries are of varying maturity level and we try to maintain a STATUS (dev-status.xml) file indicating
how good the codebase, documentation and unit tests are for each of the libraries. This is highly subjective and
potentially different individuals will judge this differently, but at least it gives a ballpark idea of the situation
for our users.

:leveloffset: 2

include::../../../../libraries/lang-groovy/src/docs/lang-groovy.txt[]

:leveloffset: 2

include::../../../../libraries/lang-javascript/src/docs/lang-javascript.txt[]

:leveloffset: 2

include::../../../../libraries/lang-scala/src/docs/lang-scala.txt[]

:leveloffset: 2

include::../../../../libraries/alarm/src/docs/alarm.txt[]

:leveloffset: 2

include::../../../../libraries/circuitbreaker/src/docs/circuitbreaker.txt[]

:leveloffset: 2

include::../../../../libraries/constraints/src/docs/constraints.txt[]

:leveloffset: 2

include::../../../../libraries/eventsourcing/src/docs/eventsourcing.txt[]

:leveloffset: 2

include::../../../../libraries/fileconfig/src/docs/fileconfig.txt[]

:leveloffset: 2

include::../../../../libraries/http/src/docs/http.txt[]

:leveloffset: 2

include::../../../../libraries/invocation-cache/src/docs/invocation-cache.txt[]

:leveloffset: 2

include::../../../../libraries/jmx/src/docs/jmx.txt[]

:leveloffset: 2

include::../../../../libraries/locking/src/docs/locking.txt[]

:leveloffset: 2

include::../../../../libraries/logging/src/docs/logging.txt[]

:leveloffset: 2

include::../../../../libraries/metrics/src/docs/metrics.txt[]

:leveloffset: 2

include::../../../../libraries/osgi/src/docs/osgi.txt[]

:leveloffset: 2

include::../../../../libraries/rdf/src/docs/rdf.txt[]

:leveloffset: 2

include::../../../../libraries/rest/src/docs/rest.txt[]

:leveloffset: 2

include::../../../../libraries/rest-client/src/docs/rest-client.txt[]

:leveloffset: 2

include::../../../../libraries/rest-common/src/docs/rest-common.txt[]

:leveloffset: 2

include::../../../../libraries/rest-server/src/docs/rest-server.txt[]

:leveloffset: 2

include::../../../../libraries/restlet/src/docs/restlet.txt[]

:leveloffset: 2

include::../../../../libraries/servlet/src/docs/servlet.txt[]

:leveloffset: 2

include::../../../../libraries/shiro-core/src/docs/shiro.txt[]

:leveloffset: 2

include::../../../../libraries/shiro-web/src/docs/shiro-web.txt[]

:leveloffset: 2

include::../../../../libraries/spring/src/docs/spring.txt[]

:leveloffset: 2

include::../../../../libraries/sql/src/docs/sql.txt[]

:leveloffset: 2

include::../../../../libraries/uid/src/docs/uid.txt[]

:leveloffset: 2

include::../../../../libraries/uowfile/src/docs/uowfile.txt[]

:leveloffset: 2

