###############################################################################
# Copyright (c) 2009, 2013 Sierra Wireless 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:
#     Sierra Wireless - initial API and implementation
###############################################################################
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
               .,\
               plugin.xml,\
               icons/,\
               plugin_customization.ini,\
               splash.bmp,\
               about.ini,\
               ldt_about.png,\
               OSGI-INF/,\
               OSGI-INF/l10n/bundle.properties,\
               about.html
# The java version of the source code
javacSource=1.6
# The java version of the byte code targeted
javacTarget=1.6
# Use to specify that PDE should check synchronisation between
# java setting (.settings/org.eclipse.jdt.core.prefs) and this build.properties
javacProjectSettings = true
## other properties
javacDefaultEncoding.. = UTF-8
src.includes = about.ini,\
               LDT_Splash_1.3_.xcf,\
               ldt_about.png,\
               ldt_logo.svg,\
               ldt_logo_proposal.svg,\
               splash.bmp,\
               plugin_customization.ini,\
               about.html
