###############################################################################
# Copyright (c) 2000, 2003 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
###############################################################################
bin.includes = plugin.xml,\
               plugin.properties,\
               about.html,\
               *.jar,\
               .options
javadoc.packages = org.eclipse.jdt.core.*,\
                   org.eclipse.jdt.core.compiler.*,\
                   org.eclipse.jdt.core.eval.*,\
                   org.eclipse.jdt.core.jdom.*,\
                   org.eclipse.jdt.core.dom.*,\
                   org.eclipse.jdt.core.search.*
source.jdtcore.jar = batch/,\
                     codeassist/,\
                     compiler/,\
                     eval/,\
                     formatter/,\
                     dom/,\
                     model/,\
                     search/
source.jdtCompilerAdapter.jar = antadapter/
jars.compile.order=jdtcore.jar,jdtCompilerAdapter.jar
jars.extra.classpath=../org.apache.ant/ant.jar
src.includes=about.html,schema/