# 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.
#
# Apache Project configurations
#
name: Apache Livy
short_name: Livy
unix_name: livy
pkg_name: apache-livy
incubator_name: incubator-livy
incubator_slash_name: incubator/livy
description: A REST Service for Apache Spark

download: download
latest_release: 0.6.0-incubating

dev_list: dev@livy.incubator.apache.org
dev_list_subscribe: dev-subscribe@livy.incubator.apache.org
dev_list_unsubscribe: dev-unsubscribe@livy.incubator.apache.org
dev_list_archive: http://mail-archives.apache.org/mod_mbox/livy-dev/
dev_list_archive_mailarchive: https://www.mail-archive.com/dev@livy.incubator.apache.org/
dev_list_archive_markmail:

user_list: user@livy.incubator.apache.org
user_list_subscribe: user-subscribe@livy.incubator.apache.org
user_list_unsubscribe: user-unsubscribe@livy.incubator.apache.org
user_list_archive: http://mail-archives.apache.org/mod_mbox/livy-user/
user_list_archive_mailarchive: https://www.mail-archive.com/user@livy.incubator.apache.org/
user_list_archive_markmail:

commits_list: commits@livy.incubator.apache.org
commits_list_subscribe: commits-subscribe@livy.incubator.apache.org
commits_list_unsubscribe: commits-unsubscribe@livy.incubator.apache.org
commits_list_archive: http://mail-archives.apache.org/mod_mbox/livy-commits/
commits_list_archive_mailarchive: https://www.mail-archive.com/commits@livy.incubator.apache.org/
commits_list_archive_markmail:

issues_list: issues@livy.incubator.apache.org
issues_list_subscribe: issues-subscribe@livy.incubator.apache.org
issues_list_unsubscribe: issues-unsubscribe@livy.incubator.apache.org
issues_list_archive: http://mail-archives.apache.org/mod_mbox/livy-issues/
issues_list_archive_mailarchive: https://www.mail-archive.com/issues@livy.incubator.apache.org/
issues_list_archive_markmail:

jira: LIVY

github_project_name: incubator-livy

source_repository: https://git-wip-us.apache.org/repos/asf/incubator-livy.git
source_repository_mirror: https://github.com/apache/incubator-livy

website_repository: https://git-wip-us.apache.org/repos/asf/incubator-livy-website.git
website_repository_mirror: https://github.com/apache/incubator-livy-website

podling: true
