#
# Copyright (c) 2011 Sonatype, Inc.
# 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:
#      Sonatype, Inc. - initial API and implementation
#

jars.compile.order = .
source.. = src/
output.. = target/classes/
bin.includes = .,\
               META-INF/,\
               about.html,\
               src/,\
               plugin.xml,\
               plugin.properties,\
               icons/,\
               OSGI-INF/
