###############################################################################
# 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,\
               about.html,\
               .options,\
               META-INF/,\
               .
jars.compile.order = .,\
                     vm/beaninfovm.jar
src.includes = about.html,\
               model/,\
               rose/,\
               proxy.jars,\
               schema/
source.. = beaninfoCommon/,beaninfo/
source.vm/beaninfovm.jar = vm_beaninfovm/
output.vm/beaninfovm.jar = bin_vm_beaninfovm/
output.. = bin/

