###############################################################################
# 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
###############################################################################

# This property file is used automatically by the PDE build process

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
logExtension=.xml
# Whether or not to include debug info in the output jars
javacDebugInfo=true 

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

##################################################
# 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
