# Copyright (c) 2005 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 - initial API and implementation
#
# $Id: build.properties,v 1.2 2005/11/15 13:02:09 khussey Exp $

# NLS_MESSAGEFORMAT_VAR

bin.includes = about.html,\
               plugin.*,\
               uml2.uml.editor.jar,\
               **/*.gif,\
               META-INF/
src.includes = about.html
jars.compile.order = uml2.uml.editor.jar
source.uml2.uml.editor.jar = src/
output.uml2.uml.editor.jar = bin/
exclude.uml2.uml.editor.jar = **/doc-files/**
