<!--
    Copyright (c) 2010, 2019 Mia-Software and others.
    All rights reserved. This program and the accompanying materials
    are made available under the terms of the Eclipse Public License v2.0
    which accompanies this distribution, and is available at
    http://www.eclipse.org/legal/epl-v20.html
   
    Contributors:
       Gabriel Barbier (Mia-Software) - initial API and implementation
 -->
<project name="Test" default="launchVisualizationsBuilding">

	<target name="launchVisualizationsBuilding">
		<!-- Generate the Excel visualizations from the Metrics model -->
		<ant dir="${basedir}/../org.eclipse.modisco.tool.metricsvisualizationbuilder"
					 antfile="build-Excel.xml">
			<property name="metricsName" value="Bugs_GMT-Metrics"/>
			<property name="metricsModelPath" value="/org.eclipse.modisco.usecase.bugzillametrics/Outputs/Metrics/Bugs_GMT-Metrics.xmi"/>
			<property name="outputFilesDirectoryPath" value="/org.eclipse.modisco.usecase.bugzillametrics/Outputs"/>
		</ant>

		<!-- Generate the HTML visualizations from the Metrics model -->
		<ant dir="${basedir}/../org.eclipse.modisco.tool.metricsvisualizationbuilder"
					 antfile="build-HTML.xml">
			<property name="metricsName" value="Bugs_GMT-Metrics"/>
			<property name="metricsModelPath" value="/org.eclipse.modisco.usecase.bugzillametrics/Outputs/Metrics/Bugs_GMT-Metrics.xmi"/>
			<property name="outputFilesDirectoryPath" value="/org.eclipse.modisco.usecase.bugzillametrics/Outputs"/>
		</ant>

		<!-- Generate the SVG Bar Chart visualizations from the Metrics model -->
		<ant dir="${basedir}/../org.eclipse.modisco.tool.metricsvisualizationbuilder"
					 antfile="build-SVGBarChart.xml">
			<property name="metricsName" value="Bugs_GMT-Metrics"/>
			<property name="metricsModelPath" value="/org.eclipse.modisco.usecase.bugzillametrics/Outputs/Metrics/Bugs_GMT-Metrics.xmi"/>
			<property name="outputFilesDirectoryPath" value="/org.eclipse.modisco.usecase.bugzillametrics/Outputs"/>
		</ant>

		<!-- Generate the SVG Pie Chart visualizations from the Metrics model -->
		<ant dir="${basedir}/../org.eclipse.modisco.tool.metricsvisualizationbuilder"
					 antfile="build-SVGPieChart.xml">
			<property name="metricsName" value="Bugs_GMT-Metrics"/>
			<property name="metricsModelPath" value="/org.eclipse.modisco.usecase.bugzillametrics/Outputs/Metrics/Bugs_GMT-Metrics.xmi"/>
			<property name="outputFilesDirectoryPath" value="/org.eclipse.modisco.usecase.bugzillametrics/Outputs"/>
		</ant>
	</target>

</project>