#
# org.eclipse.etrice.releng/buckminster.script
# Run Buckminster script (nightly)
#

setpref complianceLevel=1.6

setpref targetPlatformPath="${WORKSPACE}/buildroot/target.platform"

import -P "${WORKSPACE}/buildroot/build.properties" "${checkout.location}/org.eclipse.etrice.releng/build.mspec"

# clean build
build -c

perform -D WORKSPACE=${WORKSPACE} -P "${WORKSPACE}/buildroot/build.properties" org.eclipse.etrice.releng#create.javadoc
#perform org.eclipse.etrice.releng#create.doc

junit -l org.eclipse.etrice.core.room.tests/org.eclipse.etrice.core.room.tests.launch -o ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.core.room.tests.xml --terseXML --flatXML --stderr ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.core.room.tests.launch-err.log --stdout ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.core.room.tests.launch-out.log
junit -l org.eclipse.etrice.core.common.tests/org.eclipse.etrice.core.common.tests.launch -o ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.core.common.tests.xml --terseXML --flatXML --stderr ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.core.common.tests.launch-err.log --stdout ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.core.common.tests.launch-out.log
junit -l org.eclipse.etrice.core.genmodel.tests/org.eclipse.etrice.core.genmodel.tests.launch -o ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.core.genmodel.tests.xml --terseXML --flatXML --stderr ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.core.genmodel.tests.launch-err.log --stdout ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.core.genmodel.tests.launch-out.log
junit -l org.eclipse.etrice.generator.tests/org.eclipse.etrice.generator.tests.launch -o ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.generator.tests.xml --terseXML --flatXML --stderr ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.generator.tests.launch-err.log --stdout ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.generator.tests.launch-out.log
junit -l org.eclipse.etrice.runtime.java.tests/org.eclipse.etrice.runtime.java.tests.launch -o ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.runtime.java.tests.xml --terseXML --flatXML --stderr ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.runtime.java.tests.launch-err.log --stdout ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.runtime.java.tests.launch-out.log
junit -l org.eclipse.etrice.etunit.converter.tests/org.eclipse.etrice.etunit.converter.tests.launch -o ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.etunit.converter.tests.xml --terseXML --flatXML --stderr ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.etunit.converter.tests.launch-err.log --stdout ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.etunit.converter.tests.launch-out.log
junit -l org.eclipse.etrice.ui.behavior.tests/org.eclipse.etrice.ui.behavior.tests.launch -o ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.ui.behavior.tests.xml --terseXML --flatXML --stderr ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.ui.behavior.tests.launch-err.log --stdout ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.ui.behavior.tests.launch-out.log
junit -l org.eclipse.etrice.ui.structure.tests/org.eclipse.etrice.ui.structure.tests.launch -o ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.ui.structure.tests.xml --terseXML --flatXML --stderr ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.ui.structure.tests.launch-err.log --stdout ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.ui.structure.tests.launch-out.log
junit -l org.eclipse.etrice.abstractexec.behavior.tests/org.eclipse.etrice.abstractexec.behavior.tests.launch -o ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.abstractexec.behavior.tests.xml --terseXML --flatXML --stderr ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.abstractexec.behavior.tests.launch-err.log --stdout ${WORKSPACE}/buildroot/test.results/org.eclipse.etrice.abstractexec.behavior.tests.launch-out.log

perform -D WORKSPACE=${WORKSPACE} -P "${WORKSPACE}/buildroot/build.properties" org.eclipse.etrice.runtime.c.tests#run_tests
perform -D WORKSPACE=${WORKSPACE} -P "${WORKSPACE}/buildroot/build.properties" org.eclipse.etrice.runtime.cpp.tests#run_tests

perform -D WORKSPACE=${WORKSPACE} -P "${WORKSPACE}/buildroot/build.properties" org.eclipse.etrice.generator.c.tests#run_tests
perform -D WORKSPACE=${WORKSPACE} -P "${WORKSPACE}/buildroot/build.properties" org.eclipse.etrice.generator.cpp.tests#run_tests
perform -D WORKSPACE=${WORKSPACE} -P "${WORKSPACE}/buildroot/build.properties" org.eclipse.etrice.generator.java.tests#run_tests

perform -D WORKSPACE=${WORKSPACE} -P "${WORKSPACE}/buildroot/build.properties" org.eclipse.etrice.ui.runtime#create.contents

perform -D WORKSPACE=${WORKSPACE} -P "${WORKSPACE}/buildroot/build.properties" org.eclipse.etrice.releng#export.c.generator
perform -D WORKSPACE=${WORKSPACE} -P "${WORKSPACE}/buildroot/build.properties" org.eclipse.etrice.releng#export.cpp.generator
perform -D WORKSPACE=${WORKSPACE} -P "${WORKSPACE}/buildroot/build.properties" org.eclipse.etrice.releng#export.java.generator
perform -D WORKSPACE=${WORKSPACE} -P "${WORKSPACE}/buildroot/build.properties" org.eclipse.etrice.releng#copy.deliveries

perform -P "${WORKSPACE}/buildroot/build.properties" org.eclipse.etrice.site#site.p2.zip

perform -D WORKSPACE=${WORKSPACE} org.eclipse.etrice.releng#create.site.index

perform -D WORKSPACE=${WORKSPACE} -P "${WORKSPACE}/buildroot/build.properties" org.eclipse.etrice.releng#copy.sites
