###############################################################################
# Copyright (c) 2003, 2006 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
###############################################################################

# The CVS tag to use when fetching the map files from the repository
mapVersionTag=HEAD
runPackager=true

# This is a subdirectory of $buildDirectory
# Set collectingFolder and archivePrefix to . if you want to create archives without
# trailing eclipse in the paths of the included files
collectingFolder=eclipse

# The prefix that will be used in the generated archive.
# Does not make sense to use a different archivePrefix than collectingFolder, 
# because zip wouldn't find any files to include into the target zip otherwise
archivePrefix=eclipse

# Whether or not to include debug info in the output jars
javacDebugInfo=false 

logExtension=.xml

# Whether or not to fail the build if there are compiler errors
javacFailOnError=true

##################################################
# Asks the compiler for verbose output.  This should be set to true in order for *.bin.log files to be generated when
# using the JDT Compiler Adapter to compile.
javacVerbose=true

sign=true
