###############################################################################
# Copyright (c) 2003, 2004 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
###############################################################################
output.common_core.jar = bin/
bin.includes = plugin.xml,\
               common_core.jar,\
               common.jar,\
               .options,\
               META-INF/
jars.compile.order = common_core.jar,\
                     common.jar
src.includes = schema/,\
               component.xml
source.common_core.jar = src-non_workbench/
source.common.jar = src/
