##############################################################################
# Copyright (c) 2011 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:
#     Fabien Giquel (Mia-Software) - initial API and implementation
#		Fabien Giquel (Mia-Software) - 342856 - improve Discoverers implementation
###############################################################################

org.eclipse.modisco.java.discoverer.benchmark.template.html is exported because required by acceleo
oem.java.discoverer.benchmark.emfstat is exposed to oem.java.composition.discoverer.benchmark which subclasses benchmark discoverer
oem.java.discoverer.benchmark is exposed to oem.java.composition.discoverer.benchmark which subclasses benchmark discoverer

org.eclipse.modisco.java.discoverer.benchmark;
	x-friends:="org.eclipse.modisco.java.composition.discoverer.benchmark" 
for reuse benchmarking in composition and testing

org.eclipse.modisco.java.discoverer.benchmark.emf.client;
	x-friends:="org.eclipse.modisco.java.discoverer.benchmark.tests"
