###############################################################################
# Copyright (c) 2001, 2004 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
# 
# Contributors:
# IBM Corporation - initial API and implementation
###############################################################################
source.validate.jar = validate/,\
                      property_files/
bin.includes = validate.jar,\
               plugin.xml,\
               plugin.properties,\
               common.jar,\
               META-INF/,\
               about.html
output.validate.jar = bin/
output.common.jar = bin/
source.common.jar = validate_core/,\
                    property_files/
jars.compile.order = common.jar,\
                     validate.jar
src.includes = component.xml,\
               xsds/
