###############################################################################
# Copyright (c) 2003, 2012 IBM Corporation 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:
#    IBM Corporation - initial API and implementation
#    EclipseSource - ongoing developemnt
###############################################################################

bin.includes = plugin.properties,\
               about.html,\
               META-INF/,\
               icons/,\
               .,\
               plugin.xml
src.includes = about.html
source.. = src/,\
           rap/,\
           js/
jars.compile.order = .

# Workaround for bug 351842
jars.extra.classpath = platform:/plugin/org.eclipse.rap.ui
