###############################################################################
# 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
###############################################################################
source.proxyide.jar = proxyide/
source.proxycommon.jar = proxyCommon/
output.proxycommon.jar = common_bin/
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,\
               META-INF/
src.includes = about.html,\
               schema/,\
               proxy.jars
source.proxyremote.jar = proxyRemote/
source.initparser.jar = initParser/
output.initparser.jar = common_bin/
source.remotecommon.jar = remoteCommon/
output.remotecommon.jar = common_bin/
jars.compile.order = proxycommon.jar,\
                     initparser.jar,\
                     remotecommon.jar,\
                     vm/remotevm.jar,\
                     proxy.jar,\
                     proxyremote.jar,\
                     proxyide.jar
source.vm/remotevm.jar = vm_remotevm/
output.vm/remotevm.jar = vm_bin/
