# This file is generated by importer.py for googleapis-0.52.0+1

import("//build/dart/dart_library.gni")

dart_library("googleapis") {
  package_name = "googleapis"

  language_version = "2.0"

  disable_analysis = true

  deps = [
    "//third_party/dart-pkg/pub/_discoveryapis_commons",
    "//third_party/dart-pkg/pub/http",
  ]

  sources = [
    "abusiveexperiencereport/v1.dart",
    "acceleratedmobilepageurl/v1.dart",
    "adexchangebuyer/v1_3.dart",
    "adexchangebuyer/v1_4.dart",
    "adexchangeseller/v1_1.dart",
    "adexchangeseller/v2_0.dart",
    "adexperiencereport/v1.dart",
    "admin/datatransfer_v1.dart",
    "admin/directory_v1.dart",
    "admin/reports_v1.dart",
    "adsense/v1_4.dart",
    "adsensehost/v4_1.dart",
    "analytics/v3.dart",
    "analyticsreporting/v4.dart",
    "androiddeviceprovisioning/v1.dart",
    "androidenterprise/v1.dart",
    "androidmanagement/v1.dart",
    "androidpublisher/v2.dart",
    "androidpublisher/v3.dart",
    "appengine/v1.dart",
    "appsactivity/v1.dart",
    "appstate/v1.dart",
    "bigquery/v2.dart",
    "bigquerydatatransfer/v1.dart",
    "blogger/v3.dart",
    "books/v1.dart",
    "calendar/v3.dart",
    "chat/v1.dart",
    "civicinfo/v2.dart",
    "classroom/v1.dart",
    "cloudbilling/v1.dart",
    "cloudbuild/v1.dart",
    "clouddebugger/v2.dart",
    "cloudfunctions/v1.dart",
    "cloudiot/v1.dart",
    "cloudkms/v1.dart",
    "cloudprofiler/v2.dart",
    "cloudresourcemanager/v1.dart",
    "cloudresourcemanager/v2.dart",
    "cloudshell/v1.dart",
    "cloudtrace/v1.dart",
    "cloudtrace/v2.dart",
    "composer/v1.dart",
    "compute/v1.dart",
    "container/v1.dart",
    "content/v2.dart",
    "content/v2sandbox.dart",
    "customsearch/v1.dart",
    "dataproc/v1.dart",
    "datastore/v1.dart",
    "deploymentmanager/v2.dart",
    "dfareporting/v2_8.dart",
    "dfareporting/v3_0.dart",
    "dfareporting/v3_1.dart",
    "dfareporting/v3_2.dart",
    "dialogflow/v2.dart",
    "digitalassetlinks/v1.dart",
    "discovery/v1.dart",
    "dlp/v2.dart",
    "dns/v1.dart",
    "doubleclickbidmanager/v1.dart",
    "doubleclicksearch/v2.dart",
    "drive/v2.dart",
    "drive/v3.dart",
    "firebasedynamiclinks/v1.dart",
    "firebaserules/v1.dart",
    "firestore/v1.dart",
    "fitness/v1.dart",
    "fusiontables/v1.dart",
    "fusiontables/v2.dart",
    "games/v1.dart",
    "gamesconfiguration/v1configuration.dart",
    "gamesmanagement/v1management.dart",
    "genomics/v1.dart",
    "gmail/v1.dart",
    "groupsmigration/v1.dart",
    "groupssettings/v1.dart",
    "iam/v1.dart",
    "iamcredentials/v1.dart",
    "identitytoolkit/v3.dart",
    "indexing/v3.dart",
    "jobs/v2.dart",
    "jobs/v3.dart",
    "kgsearch/v1.dart",
    "language/v1.dart",
    "licensing/v1.dart",
    "logging/v2.dart",
    "manufacturers/v1.dart",
    "mirror/v1.dart",
    "ml/v1.dart",
    "monitoring/v3.dart",
    "oauth2/v2.dart",
    "oslogin/v1.dart",
    "pagespeedonline/v1.dart",
    "pagespeedonline/v2.dart",
    "pagespeedonline/v4.dart",
    "partners/v2.dart",
    "people/v1.dart",
    "playcustomapp/v1.dart",
    "plus/v1.dart",
    "plusdomains/v1.dart",
    "poly/v1.dart",
    "pubsub/v1.dart",
    "reseller/v1.dart",
    "runtimeconfig/v1.dart",
    "safebrowsing/v4.dart",
    "script/v1.dart",
    "searchconsole/v1.dart",
    "servicebroker/v1.dart",
    "serviceconsumermanagement/v1.dart",
    "servicecontrol/v1.dart",
    "servicemanagement/v1.dart",
    "serviceusage/v1.dart",
    "serviceuser/v1.dart",
    "sheets/v4.dart",
    "siteverification/v1.dart",
    "slides/v1.dart",
    "sourcerepo/v1.dart",
    "spanner/v1.dart",
    "speech/v1.dart",
    "storage/v1.dart",
    "storagetransfer/v1.dart",
    "streetviewpublish/v1.dart",
    "surveys/v2.dart",
    "tagmanager/v1.dart",
    "tagmanager/v2.dart",
    "tasks/v1.dart",
    "testing/v1.dart",
    "texttospeech/v1.dart",
    "tpu/v1.dart",
    "translate/v2.dart",
    "urlshortener/v1.dart",
    "vault/v1.dart",
    "videointelligence/v1.dart",
    "vision/v1.dart",
    "webfonts/v1.dart",
    "webmasters/v3.dart",
    "youtube/v3.dart",
    "youtubeanalytics/v1.dart",
    "youtubeanalytics/v2.dart",
    "youtubereporting/v1.dart",
  ]
}
