# Copyright (c) 2014, 2015 Eike Stepper (Berlin, Germany) 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:
#    Eike Stepper - initial API and implementation

# UpdateTrigger = 20150819-1749

source.. = src/
output.. = bin/
bin.includes = plugin.xml,\
               META-INF/,\
               .,\
               icons/,\
               about.html,\
               about.ini,\
               about.mappings,\
               about.properties,\
               oomph32.png,\
               plugin.properties
src.includes = about.html,\
               pom.xml

generateSourceReferences = true
