###############################################################################
# Copyright (c) 2003, 2005 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
###############################################################################
src.excludes = **/.cvsignore
bin.includes = plugin.xml,\
               plugin.properties,\
               beaninfo.jar,\
               vm/beaninfovm.jar,\
               about.html,\
               .options,\
               beaninfocommon.jar,\
               META-INF/
jars.compile.order = beaninfocommon.jar,\
                     vm/beaninfovm.jar,\
                     beaninfo.jar
src.includes = about.html,\
               model/,\
               rose/,\
               proxy.jars,\
               schema/
source.beaninfo.jar = beaninfo/
source.vm/beaninfovm.jar = vm_beaninfovm/
source.beaninfocommon.jar = beaninfoCommon/
output.vm/beaninfovm.jar = bin_vm_beaninfovm/
output.beaninfocommon.jar = bin_beaninfocommon/

