###
# Copyright 2005 the original author or authors.
#
#  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.
###
maven.repo.remote=http://www.gbean.org/maven,http://www.openejb.org/maven,http://www.ibiblio.org/maven

maven.compile.source=1.4
maven.compile.target=1.4
maven.compile.deprecation=true
maven.compile.debug=true
maven.compile.optimize=true

maven.remote.group=gbean
maven.username=${user.name}
maven.repo.central=beaver.codehaus.org
maven.repo.central.directory=/dist

maven.javadoc.source=1.4
maven.javadoc.links=http://java.sun.com/j2se/1.4.1/docs/api/
maven.javadoc.additionalparam=-linksource

maven.site.deploy.method=rsync
maven.site.deploy.clean=true
