# 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: 0.19.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: ">=2.0.0 <3.0.0"

dependencies:
  fixnum: ">=0.10.2 <2.0.0"
  http: ">=0.11.3 <0.14.0"
  logging: ">=0.11.0 <2.0.0"

dev_dependencies:
  build_runner: ">=1.7.1 <3.0.0"
  build_test: ">=0.10.9 <3.0.0"
  build_vm_compilers: ^1.0.3
  build_web_compilers: ">=2.7.1 <4.0.0"
  dart_dev: ^3.0.0
  dart_style: ">=1.3.1 <3.0.0"
  mockito: ">=4.1.1 <6.0.0"
  test: ^1.9.1
  workiva_analysis_options: ^1.0.0