# <copyright>
# *************************************************************************
# * Copyright (c) 2007 Actuate Corporation.
# * All rights reserved. This program and the accompanying materials
# * are made available under the terms of the Eclipse Public License 2.0
# * which accompanies this distribution, and is available at
# * https://www.eclipse.org/legal/epl-2.0/
# *
# * Contributors:
# *  Actuate Corporation - initial API and implementation
# *  
# *************************************************************************
# </copyright>
#
# $Id$

bin.includes = org.eclipse.datatools.connectivity.oda.design.tests.jar,\
               META-INF/,\
               plugin.xml,\
               testFiles/
jars.compile.order = org.eclipse.datatools.connectivity.oda.design.tests.jar
source.org.eclipse.datatools.connectivity.oda.design.tests.jar = src/
output.org.eclipse.datatools.connectivity.oda.design.tests.jar = bin/
