## BEGIN PROJECT BUILD PROPERTIES ##

thirdPartyDownloadLicenseAcceptance="I accept"

projectid=m2m.qvtd
zipPrefix=m2m-qvtd-incubation
incubation=-incubation
version=0.8.0
buildType=N
mainFeatureToBuildID=org.eclipse.qvt.declarative
testFeatureToBuildID=org.eclipse.qvt.declarative.test

build.steps=buildZips,buildTests,buildUpdate,generateDigests,testLocal,publish,cleanup,map2psf

# can be SDK, runtime, or update zips.
dependencyURLs=http://download.eclipse.org/eclipse/downloads/drops/R-3.6-201006080911/eclipse-SDK-3.6-linux-gtk-ppc.tar.gz

#impURL=http://download.eclipse.org/technology/imp/updates/
# can also specify repos (local/remote sites or local zips) THEN a list of features to install (see below)
#repositoryURLs=${impURL}
repositoryURLs=\
http://download.eclipse.org/modeling/emf/transaction/downloads/drops/1.4.0/R201006151000/emf-transaction-Update-1.4.0.zip,\
http://download.eclipse.org/modeling/emf/validation/downloads/drops/1.4.0/R201006151000/emf-validation-Update-1.4.0.zip,\
http://download.eclipse.org/modeling/mdt/ocl/downloads/drops/3.0.0/R201006141954/mdt-ocl-Update-3.0.0.zip,\
http://download.eclipse.org/modeling/mdt/uml2/downloads/drops/3.1.0/R201006071241/mdt-uml2-Update-3.1.0.zip,\
http://download.eclipse.org/modeling/emf/emf/downloads/drops/2.6.0/R201006141136/emf-xsd-Update-2.6.0.zip,\
http://download.eclipse.org/tools/orbit/downloads/drops/R20100519200754/repository
featureIDsToInstall=org.eclipse.emf+org.eclipse.xsd+org.eclipse.uml2+org.eclipse.ocl+org.eclipse.ocl.edit+org.eclipse.emf.transaction+org.eclipse.emf.workspace+org.eclipse.emf.validation
pluginIDsToInstall=org.eclipse.ocl.examples.modelregistry.ui

# multiple installs as a single operation (requires Eclipse 3.5)
# featureIDsToInstall=org.eclipse.emf+org.eclipse.birt+org.eclipse.cdt
# install each feature.group in a separate operation (works with Eclipse 3.4)
#featureIDsToInstall=lpg.runtime.java,org.eclipse.imp.runtime
#featureIDsToInstall=lpg.runtime,org.eclipse.imp.runtime
#pluginIDsToInstall=org.eclipse.imp.runtime

compilerArg=-enableJavadoc -encoding UTF-8
flattenDependencies=true
parallelCompilation=true
generateFeatureVersionSuffix=true
individualSourceBundles=true

JAVA50_HOME=/opt/public/common/ibm-java2-ppc-50
JAVA14_HOME=/opt/public/common/ibm-java2-142
JAVA_HOME=${JAVA50_HOME}

#################################################################################################################

#TODO: [269290] make javadokken work.
#javadocEnabled=true
#JAVADOC14_HOME=/opt/public/common/ibm-java2-ppc-50/bin

# TODO: are these still required/used?
#projRelengRoot=:pserver:anonymous@dev.eclipse.org:/cvsroot/tools
projRelengRoot=:pserver:anonymous@dev.eclipse.org:/cvsroot/modeling
projRelengPath=org.eclipse.m2m/org.eclipse.qvt.declarative/releng
basebuilderBranch=R35_RC4

LPGRuntimeVersion = 2.0.17
domainNamespace=*
projNamespace=org.eclipse.qvtd
projRelengName=org.eclipse.qvtd.releng

# TODO: not used yet
# define regex patterns to use when automatically selecting zips from a directory or list file
#dependencyRegexFilter=R3_4_maintenance:M200.*/eclipse-SDK-|R-.*200.*/eclipse-SDK-

# TODO: not used yet
# could be file://, http://, cvs path, or relative path?
#mapLocation=maps/

# TODO: implement use of packager.map for defining deps?
# TODO: could be relative, absolute (local), or http/ftp paths to archives when defining dependencyURLs above

## END PROJECT BUILD PROPERTIES ##
