#builderVersion=v200911110814
#builderVersion=v200911151844
#builderVersion=v200911181631
builderVersion=v200911190045

eclipse.builder=org.eclipse.releng.basebuilder
eclipse.builder.version=R36_M2
# uncomment if its desired to 'force' fetch of eclipse builder
# (if not already defined from elsewhere)
eclipse.builder.fetch=true

# WTP specific builder
wtpBuildTools.url=http://download.eclipse.org/webtools/wtpBuildTools/drops/R3.0/T-T20090531062807-20090531062807/updateSite/plugins
wtpBuildTools.file=org.eclipse.wtp.releng.tools_1.1.0.v200905310626.jar

#   This parameter is specific to the compiler
#   being used (JDT Compiler, in our case).
#   'showversion' causes the version of JDT Compiler to be
#   printed to the compiler log file.
#compilerArg=-showversion -encoding ISO-8859-1 -warn:-discouraged,serial,raw
compilerArg=-showversion -encoding ISO-8859-1 -warn:-serial,raw,typeHiding,unchecked

#############################################################
# Other inline resolved properties
pde.builder.path=${env.BASE_BUILDERS}/${eclipse.builder.version}/${eclipse.builder}
# Beginning with 33M5, the startup.jar was removed. Currently, in basebuilder,
# this launcher is provided without version number. If we ever move to use plain
# eclipse, we'll need a bit of script find and rename (or set the variable).
# to ever "go backwards" this one variable could be ${pde.builder.path}/startup.jar
eclipse.launcher=${pde.builder.path}/plugins/org.eclipse.equinox.launcher.jar
#eclipse.launcher=${pde.builder.path}/startup.jar

# in 3.2 based builds, pde's directory no longer has version number
# well, now M7_34 does :)
eclipse.base.version=3.5.100.v20090911
pde.build.scripts=${pde.builder.path}/plugins/org.eclipse.pde.build_${eclipse.base.version}/scripts
#pde.build.scripts=${pde.builder.path}/plugins/org.eclipse.pde.build/scripts
buildDirectory=${env.PROJECT_PROJECTS}/${projectname}/workdir

# new in 3.4 based build, have the source files for sdk builds bundled as individual jars.
individualSourceBundles=true

# dropins folder is either empty string, or /eclipse/dropins (no trailing spaces)
dropinsFolder=/eclipse/dropins

# should be set for 3.1+ build. should be unset (not exist, or commented out) for earlier builds
doCreateFprojZips=yes


# arguments for relent tests (that vary by stream)
# omit qualifierArgValue to not flag a unit test error for "warnings"
#qualifierArgValue=-countQualifierIncreaseOnlyAsError
qualifierArgValue=
referenceIDArgValue=R-3.1.1-20090917225226
referenceURLArgValue=http://download.eclipse.org/webtools/downloads/drops/R3.1/R-3.1.1-20090917225226/versioningReference_R-3.1.1-20090917225226.xml
# omit to not test
testToReferenceArgValue=-testToReference
# omit to not list
listToReferenceFileArgValue=-listToReferenceFile
