# The location underwhich all of the build output will be collected.
# 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=.

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

JavaSE-14=/opt/tools/java/openjdk/jdk-14/latest/lib/jrt-fs.jar
JavaSE-13=/opt/tools/java/openjdk/jdk-13/latest/lib/jrt-fs.jar
JavaSE-12=/opt/tools/java/openjdk/jdk-12/latest/lib/jrt-fs.jar
JavaSE-11=/opt/tools/java/openjdk/jdk-11/latest/lib/jrt-fs.jar
JavaSE-10=/opt/tools/java/openjdk/jdk-10/latest/lib/jrt-fs.jar
JavaSE-9=/opt/tools/java/openjdk/jdk-9/latest/lib/jrt-fs.jar

JavaSE-1.8=/opt/tools/java/oracle/jdk-8/latest/jre/lib/charsets.jar:/opt/tools/java/oracle/jdk-8/latest/jre/lib/deploy.jar:/opt/tools/java/oracle/jdk-8/latest/jre/lib/javaws.jar:/opt/tools/java/oracle/jdk-8/latest/jre/lib/jce.jar:/opt/tools/java/oracle/jdk-8/latest/jre/lib/jfr.jar:/opt/tools/java/oracle/jdk-8/latest/jre/lib/jfxswt.jar:/opt/tools/java/oracle/jdk-8/latest/jre/lib/jsse.jar:/opt/tools/java/oracle/jdk-8/latest/jre/lib/management-agent.jar:/opt/tools/java/oracle/jdk-8/latest/jre/lib/plugin.jar:/opt/tools/java/oracle/jdk-8/latest/jre/lib/resources.jar:/opt/tools/java/oracle/jdk-8/latest/jre/lib/rt.jar


skipBase=true
base=${build.root.dir}
# baseLocation is set from run.xml
#eclipseBuildId=SDK-3.6RC3
#eclipseDrop=${eclipseBuildId}-201005271700
#eclipseURL=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/${eclipseDrop}
#eclipseBaseURL=${eclipseURL}/eclipse-${eclipseBuildId}-linux-gtk-${basearch}.tar.gz

p2.gathering=true
#p2.build.repo  this is set from customTargets.xml#assemble.org.eclipse.objectteams.otdt.core.patch.p2
skipMirroring=true
#skipDirector=true
p2.metadata.repo.name="Object Teams Updates"

individualSourceBundles=true

generateSourceReferences=true
