#   Licensed to the Apache Software Foundation (ASF) under one
#   or more contributor license agreements.  See the NOTICE file
#   distributed with this work for additional information
#   regarding copyright ownership.  The ASF licenses this file
#   to you 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.
github:
  description: "Apache UIMA Parent POM"
  homepage: https://uima.apache.org
notifications:
    commits:      commits@uima.apache.org
    issues:       dev@uima.apache.org
    pullrequests: dev@uima.apache.org
    jira_options: link label
github:
  features:
    # Enable wiki for documentation
    wiki: false
    # Enable issue management
    issues: false
    # Enable projects for project management boards
    projects: false
  enabled_merge_buttons:
    # enable squash button:
    squash:  true
    # enable merge button:
    merge:   true
    # disable rebase button:
    rebase:  false
    