# 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:15 khussey Exp $

# NLS_MESSAGEFORMAT_VAR

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