###############################################################################
# Copyright (c) 2004, 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 Corporation - initial API and implementation
###############################################################################
src.excludes = **/.cvsignore
source.mofjava.jar = mofjava/
bin.includes = plugin.xml,\
               plugin.properties,\
               javainst.jar,\
               about.html,\
               about.ini,\
               about.mappings,\
               about.properties,\
               eclipse32.gif,\
               overrides/,\
               mofjava.jar,\
               .options,\
               META-INF/
jars.compile.order = mofjava.jar,\
                     javainst.jar
source.javainst.jar = javainst/
src.includes = about.html,\
               model/,\
               rose/
