#/***********************************************************************************************************************
# * 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/,\
               .,\
               test.xml,\
               about.html
