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

#------------------------------------------------------------------------------#
#                             Cocoon Blocks                                    #
#------------------------------------------------------------------------------#

# Remove blocks from your cocoon distribution by setting the corresponding
# include property to true or false. The blocks are included by default, i.e. if
# no property was set.

# NOTE: Don't modify this file directly but make a copy named
# 'local.blocks.properties' and modify that. The build system will first load
# 'local.blocks.properties' and properties are immutable in Ant.

# For most cases it is enough that you exclude all blocks and include only those
# few you want, example:
# exclude.all.blocks=true
# include.block.forms=true
# include.block.template=true

# The opposite is also allowed:
# include.all.blocks=true
# exclude.block.scratchpad=true

# If there is a conflict on the same level of granularity:
# include.block.template=true vs. exclude.block.template=true, 
# include.all.blocks=true vs. exclude.all.blocks=true
# it is always resolved in favour of include.* properties. 

# NOTE: "[dependency]" indicates blocks that are required by other blocks.
# Disabling batik, for example, will result in a RuntimeException when using
# fop. Dependencies only needed for the block's samples are marked explicitely.
# This latter information was introduced only short time ago, so do not expect
# it to be complete.

# NOTE: (to Cocoon committers): blocks.properties is generated from gump.xml
# using "build generate-blocks.properties". Any changes to blocks definitions
# must be made in gump.xml, not here.

# All blocks -------------------------------------------------------------------

# Use this property to exclude all blocks at once
exclude.all.blocks=true

# Use this property to include all blocks at once
# include.all.blocks=true


# Stable blocks ----------------------------------------------------------------

# Stable blocks are those that can be considered ready for production and
# will contain components and API that will remain stable and where
# developers are committed to back compatibility. In short, stuff that you
# can depend on.

#-----[dependency]: "authentication-fw" depends on "session-fw".
#-----[dependency]: "authentication-fw" is needed by "portal", "portal-fw".
#include.block.authentication-fw=false
#-----[dependency]: "batik" is needed by "fop", "tour".
include.block.batik=true
#include.block.bsf=false
include.block.chaperon=true
#-----[dependency]: "databases" depends on "xsp".
#-----[dependency]: "databases" is needed by "hsqldb", "jms", "ojb", "petstore", "repository", "xmldb".
#include.block.databases=false
#-----[dependency]: "fop" depends on "batik", "xsp" (for samples).
#-----[dependency]: "fop" is needed by "tour".
include.block.fop=true
#-----[dependency]: "forms" depends on "ajax", "template" (for samples).
#-----[dependency]: "forms" is needed by "apples", "javaflow", "ojb", "petstore", "portal", "querybean", "tour".
#include.block.forms=false
#-----[dependency]: "hsqldb" depends on "databases".
#-----[dependency]: "hsqldb" is needed by "jms", "ojb", "petstore".
#include.block.hsqldb=false
include.block.html=true
#-----[dependency]: "itext" depends on "xsp" (for samples).
#include.block.itext=false
#include.block.jfor=false
#include.block.jsp=false
#-----[dependency]: "linkrewriter" depends on "xsp".
include.block.linkrewriter=true
#-----[dependency]: "lucene" is needed by "querybean".
include.block.lucene=true
#include.block.midi=false
#include.block.naming=false
#-----[dependency]: "ojb" depends on "databases" (for samples), "forms" (for samples), "hsqldb" (for samples), "xsp" (for samples).
#-----[dependency]: "ojb" is needed by "javaflow", "portal", "querybean".
#include.block.ojb=false
#include.block.paranoid=false
#include.block.poi=false
#-----[dependency]: "portal" depends on "auth", "authentication-fw", "cron", "forms", "ojb", "session-fw".
#-----[dependency]: "portal" is needed by "faces".
#include.block.portal=false
#-----[dependency]: "profiler" depends on "auth".
include.block.profiler=true
#-----[dependency]: "python" depends on "xsp".
#include.block.python=false
#-----[dependency]: "session-fw" depends on "xsp".
#-----[dependency]: "session-fw" is needed by "authentication-fw", "portal", "portal-fw".
#include.block.session-fw=false
#-----[dependency]: "velocity" is needed by "petstore".
#include.block.velocity=false
#include.block.web3=false
#-----[dependency]: "xmldb" depends on "databases".
#include.block.xmldb=false
#-----[dependency]: "xsp" is needed by "axis", "databases", "fop", "itext", "linkrewriter", "ojb", "python", "session-fw", "woody".
include.block.xsp=true

# Deprecated blocks ------------------------------------------------------------

# Although some of these blocks may have been stable, they are now deprecated
# in favour of other blocks and therefore are excluded by default from the build.
# For including one of them you have to set the exclude property into comment in
# blocks.properties.

include.block.php=false
#-----[dependency]: "portal-fw" depends on "authentication-fw", "session-fw".
include.block.portal-fw=false
include.block.swf=false
#-----[dependency]: "woody" depends on "xsp" (for samples).
include.block.woody=false

# Unstable blocks --------------------------------------------------------------

# Unstable blocks are currently under development and do not guarantee that the
# contracts they expose (API, xml schema, properties, behavior) will remain
# constant in time. Developers are not committed to back-compatibility just yet.
# This doesn't necessarily mean the blocks implementation is unstable or
# the code can't be trusted for production, but use with care and watch
# its development as things might change over time before they are marked
# stable.

#-----[dependency]: "ajax" depends on "template" (for samples).
#-----[dependency]: "ajax" is needed by "forms".
#include.block.ajax=false
#-----[dependency]: "apples" depends on "forms" (for samples).
#include.block.apples=false
#-----[dependency]: "asciiart" is needed by "mail".
include.block.asciiart=true
#-----[dependency]: "auth" is needed by "portal", "profiler".
include.block.auth=true
#-----[dependency]: "axis" depends on "xsp" (for samples).
#include.block.axis=false
#-----[dependency]: "captcha" depends on "template" (for samples).
#include.block.captcha=false
#-----[dependency]: "cron" is needed by "jms", "portal".
#include.block.cron=false
#include.block.deli=false
#-----[dependency]: "eventcache" depends on "jms", "template" (for samples).
#-----[dependency]: "eventcache" is needed by "repository", "webdav".
#include.block.eventcache=false
#-----[dependency]: "faces" depends on "portal", "taglib".
#include.block.faces=false
#include.block.imageop=false
#-----[dependency]: "javaflow" depends on "forms", "ojb".
#include.block.javaflow=false
include.block.jcr=false
#-----[dependency]: "jms" depends on "cron", "databases" (for samples), "hsqldb".
#-----[dependency]: "jms" is needed by "eventcache", "slide".
#include.block.jms=false
#include.block.linotype=false
#-----[dependency]: "mail" depends on "asciiart" (for samples).
#include.block.mail=false
#-----[dependency]: "petstore" depends on "databases", "forms", "hsqldb", "velocity".
#include.block.petstore=false
#include.block.proxy=false
#include.block.qdox=false
#-----[dependency]: "querybean" depends on "forms" (for samples), "lucene", "ojb".
#include.block.querybean=false
#-----[dependency]: "repository" depends on "databases", "eventcache".
#-----[dependency]: "repository" is needed by "slide", "webdav".
#include.block.repository=false
#include.block.serializers=false
#-----[dependency]: "slide" depends on "jms", "repository".
#include.block.slide=false
#-----[dependency]: "slop" is needed by "tour".
#include.block.slop=false
#include.block.stx=false
#-----[dependency]: "taglib" is needed by "faces".
#include.block.taglib=false
#-----[dependency]: "template" is needed by "ajax", "captcha", "eventcache", "forms".
include.block.template=true
#-----[dependency]: "tour" depends on "batik", "fop", "forms", "slop".
#include.block.tour=false
include.block.validation=true
#-----[dependency]: "webdav" depends on "eventcache", "repository".
#include.block.webdav=false
#include.block.xsltal=false
