##
##
##   Copyright 2005 The Apache Software Foundation
##
##   Licensed under the Apache License, Version 2.0 (the "License");
##   you may not use this file except in compliance with the License.
##   You may obtain a copy of the License at
##
##       http://www.apache.org/licenses/LICENSE-2.0
##
##   Unless required by applicable law or agreed to in writing, software
##   distributed under the License is distributed on an "AS IS" BASIS,
##   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
##   See the License for the specific language governing permissions and
##   limitations under the License.
##

##
## $Rev$ $Date$
##

maven.compile.source=1.4
maven.compile.target=1.4

geronimoVersion=1.1.1
geronimo_version=1.1.1

maven.multiproject.type=plugin

# set eclipse project name (used in eclipse plugin V1.11 onwards)
maven.eclipse.project.name=${geronimo.maven.eclipse.plugins.project.prefix}${pom.artifactId}

