###############################################################################
# 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
###############################################################################
bin.includes = plugin.xml,\
               plugin.properties,\
               vm/remotevm.jar,\
               .options,\
               about.html,\
               META-INF/,\
               .
src.includes = about.html,\
               schema/,\
               proxy.jars
jars.compile.order = .,\
                     vm/remotevm.jar
source.vm/remotevm.jar = vm_remotevm/
output.vm/remotevm.jar = vm_bin/
output.. = bin/
source.. = proxyCommon/,\
           initParser/,\
           remoteCommon/,\
           proxy/,\
           proxyRemote/,\
           proxyide/
