###############################################################################
# Copyright (c) 2003, 2004 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Common Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/cpl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
source.proxyide.jar = proxyide/
source.proxycommon.jar = proxyCommon/
source.proxy.jar = proxy/
bin.includes = plugin.xml,\
               plugin.properties,\
               proxycommon.jar,\
               proxy.jar,\
               remotecommon.jar,\
               proxyremote.jar,\
               initparser.jar,\
               vm/remotevm.jar,\
               .options,\
               about.html,\
               proxyide.jar
src.includes = about.html,\
               schema/,\
               proxy.jars
source.proxyremote.jar = proxyRemote/
source.initparser.jar = initParser/
source.remotecommon.jar = remoteCommon/
jars.compile.order = initparser.jar,\
                     proxycommon.jar,\
                     remotecommon.jar,\
                     vm/remotevm.jar,\
                     proxy.jar,\
                     proxyremote.jar,\
                     proxyide.jar
source.vm/remotevm.jar = vm_remotevm/
