# 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.

name: thrift
version: 1.0.0
description: >
  A Dart library for Apache Thrift
author: Apache Thrift Developers <dev@thrift.apache.org>
homepage: http://thrift.apache.org
documentation: http://thrift.apache.org

environment:
  sdk: ">=1.13.0 <2.0.0"

dependencies:
  fixnum: ^0.10.2
  http: ^0.11.3
  logging: ^0.11.0

dev_dependencies:
  # test
  mockito: ^1.0.0
  test: ^0.12.0

  # dart_dev - https://github.com/Workiva/dart_dev
  dart_dev: ^1.5.0
  coverage: ^0.7.3
  dart_style: ">=0.2.4 <0.3.0"
  dartdoc: ^0.9.0
