#/***********************************************************************************************************************
# * 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: Daniel Stucky (empolis GmbH) - initial creator
# **********************************************************************************************************************/

source.. = code/src/,\
           code/gen/
output.. = code/bin/
bin.includes = META-INF/,\
               .,\
               OSGI-INF/,\
               plugin.xml,\
               schemas/,\
               about.html
src.includes = schemas/,\
               schema/,\
               plugin.xml,\
               build.xml,\
               build.properties,\
               about.html,\
               OSGI-INF/,\
               META-INF/
