# Copyright (c) 2007-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/,\
               about.html,\
               plugin.properties,\
               .,\
               CDDL.html
src.includes = about.html,\
               pom.xml
jars.compile.order = .
source.. = src/

generateSourceReferences = true
