#
# Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
#
# 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.
#
# This Source Code may also be made available under the following Secondary
# Licenses when the conditions for such availability set forth in the
# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
# version 2 with the GNU Classpath Exception, which is available at
# https://www.gnu.org/software/classpath/license.html.
#
# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
#


<property name="module" value="web"/>
<property name="appname" value="${module}-tag-plugin-for-each"/>
<property name="assemble" value="${build.classes.dir}/archive"/>
<property name="apptype" value="web"/>
<property name="web.xml" value="descriptor/web.xml"/>
<property name="tagPlugins.xml" value="descriptor/tagPlugins.xml"/>
<property name="contextroot" value="/${appname}"/>
<property name="tagfiles" value="descriptor/tags"/>
<property name="build.dir" value="${env.APS_HOME}/build/${module}/tagpluginforeach"/>
