# Copyright 2017 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Dependencies for Android target OS.

# -crX indicates the chromium-specific revision of a package at a given version.

@Subdir third_party/accessibility_test_framework
chromium/third_party/accessibility-test-framework version:2.1-cr0

# Three unchanging lines
# avoid the horror that is
# endless merge conflicts

@Subdir third_party/android_support_test_runner
chromium/third_party/android_support_test_runner version:0.5-cr0

# Three unchanging lines
# avoid the horror that is
# endless merge conflicts

@Subdir third_party/android_system_sdk
chromium/third_party/android_system_sdk version:27-cr0

# Three unchanging lines
# avoid the horror that is
# endless merge conflicts

@Subdir third_party/apk-patch-size-estimator
chromium/third_party/apk-patch-size-estimator version:0.2-cr0

# Three unchanging lines
# avoid the horror that is
# endless merge conflicts

@Subdir third_party/bazel
chromium/third_party/bazel version:0-cr0

# Three unchanging lines
# avoid the horror that is
# endless merge conflicts

@Subdir third_party/bouncycastle
chromium/third_party/bouncycastle version:1.46-cr0

# Three unchanging lines
# avoid the horror that is
# endless merge conflicts

@Subdir third_party/byte_buddy
chromium/third_party/byte_buddy version:1.4.17-cr0

# Three unchanging lines
# avoid the horror that is
# endless merge conflicts

@Subdir third_party/espresso
chromium/third_party/espresso version:2.2.1-cr0

# Three unchanging lines
# avoid the horror that is
# endless merge conflicts

@Subdir third_party/gson
chromium/third_party/gson version:2.8.0-cr0

# Three unchanging lines
# avoid the horror that is
# endless merge conflicts

@Subdir third_party/guava
chromium/third_party/guava version:23.0-cr0

# Three unchanging lines
# avoid the horror that is
# endless merge conflicts

@Subdir third_party/hamcrest
chromium/third_party/hamcrest version:1.3-cr0

# Three unchanging lines
# avoid the horror that is
# endless merge conflicts

@Subdir third_party/icu4j
chromium/third_party/icu4j version:53.1-cr0

# Three unchanging lines
# avoid the horror that is
# endless merge conflicts

@Subdir third_party/intellij
chromium/third_party/intellij version:12.0-cr0

# Three unchanging lines
# avoid the horror that is
# endless merge conflicts

@Subdir third_party/javax_inject
chromium/third_party/javax_inject version:1-cr0

# Three unchanging lines
# avoid the horror that is
# endless merge conflicts

@Subdir third_party/objenesis
chromium/third_party/objenesis version:2.4-cr0

# Three unchanging lines
# avoid the horror that is
# endless merge conflicts

@Subdir third_party/ow2_asm
chromium/third_party/ow2_asm version:5.0.1-cr0

# Three unchanging lines
# avoid the horror that is
# endless merge conflicts

@Subdir third_party/robolectric
chromium/third_party/robolectric version:3.5.1

# Three unchanging lines
# avoid the horror that is
# endless merge conflicts

@Subdir third_party/sqlite4java
chromium/third_party/sqlite4java version:0.282-cr0

# Three unchanging lines
# avoid the horror that is
# endless merge conflicts

@Subdir third_party/xstream
chromium/third_party/xstream version:1.4.8-cr0

