###############################################################################
# Copyright (c) 2003, 2006 IBM Corporation and others.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License v. 2.0 which is available at
# http://www.eclipse.org/legal/epl-2.0.
#
# SPDX-License-Identifier: EPL-2.0
# 
# 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
logExtension=.xml
# Whether or not to include debug info in the output jars
javacDebugInfo=false 

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