##
#  Copyright (c) 2009-2010 Thales Corporate Services S.A.S.
#  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:
#      Thales Corporate Services S.A.S - initial API and implementation
##

# NLS_MESSAGEFORMAT_VAR
bin.includes = fc32.gif,\
               about.*,\
               plugin.*,\
               src/,\
               META-INF/
sourcePlugin=true
src.includes = about.html
