#/***********************************************************************************************************************
# * Copyright (c) 2008 empolis GmbH and brox IT Solutions GmbH. 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: Ivan Churkin (brox IT Solutions GmbH) - initial creator
# **********************************************************************************************************************/

source.. = code/src/
output.. = code/bin/
bin.includes = META-INF/,\
               .,\
               plugin.xml,\
               schemas/,\
               schema/org.eclipse.smila.connectivity.framework.schema.extension.exsd,\
               about.html
bin.excludes = META-INF/.svn/
src.includes = schemas/,\
               schema/,\
               about.html
