# Copyright (c) 2012, 2017 Eike Stepper (Loehne, 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

# NLS_MESSAGEFORMAT_VAR

bin.includes = META-INF/,\
               plugin.properties,\
               about.html,\
               README.html
src.includes = about.html,\
               ExampleClient.launch,\
               pom.xml

generateSourceReferences = true
