###############################################################################
# Copyright (c) 2005, 2007 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
#

###############################################################################
#/**
# * <copyright>
# *
# * 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
# * 
# 
# *
# * </copyright>
# *
# * $Id: build.properties,v 1.2 2007/07/31 11:32:19 aplatov Exp $ build.properties,v 1.1 2005/11/25 20:30:36 cdamus Exp $
# */
bin.includes = epl-v10.html,\
               eclipse_update_120.jpg,\
               feature.properties,\
               feature.xml,\
               license.html
root=rootfiles
generate.feature@org.eclipse.dltk.javascript.source=org.eclipse.dltk.javascript
