#    Copyright 2004 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$
##


#module.excludes=axis
#maven.test.failure.ignore=true
#maven.test.skip=true
#maven.itest.skip=true
maven.remote.group=apcvs

#multiproject properties
maven.multiproject.includes=\
*/project.xml

maven.multiproject.excludes=\
#system-database/project.xml,\
#activemq/project.xml,\
#activemq-broker/project.xml

maven.idea.project.multiproject.includes=${maven.multiproject.includes}
maven.idea.project.multiproject.excludes=${maven.multiproject.excludes}


