###############################################################################
# Copyright (c) 2005, 2007 IBM Corporation and others.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License v. 2.0 which is available at
# http://www.eclipse.org/legal/epl-2.0.
#
# SPDX-License-Identifier: EPL-2.0
#

###############################################################################
#/**
# * <copyright>
# *
# * Copyright (c) 2005 IBM Corporation and others.
# *
# * This program and the accompanying materials are made available under the
# * terms of the Eclipse Public License v. 2.0 which is available at
# * http://www.eclipse.org/legal/epl-2.0.
# *
# * SPDX-License-Identifier: EPL-2.0
# * 
# 
# *
# * </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 = eclipse_update_120.jpg,\
               feature.properties,\
               feature.xml
root=rootfiles
generate.feature@org.eclipse.dltk.javascript.source=org.eclipse.dltk.javascript
