###############################################################################
# Copyright (c) 2007, 2010 BMW Car IT, Technische Universitaet Muenchen, and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#     BMW Car IT - Initial API and implementation
#     Technische Universitaet Muenchen - Major refactoring and extension
###############################################################################

# <copyright>
# </copyright>
#
# $Id$

bin.includes = .,\
               model/,\
               META-INF/,\
               plugin.xml,\
               plugin.properties,\
               schema/,\
               about.html
jars.compile.order = .
source.. = generated-src/,\
           src/
output.. = bin/
src.includes = about.html
