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

import("//build/config/android/rules.gni")

java_group("hamcrest_java") {
  testonly = true
  deps = [
    ":hamcrest_core_java",
    ":hamcrest_integration_java",
    ":hamcrest_library_java",
  ]
}

java_prebuilt("hamcrest_core_java") {
  supports_android = true
  testonly = true
  jar_path = "lib/hamcrest-core.jar"
  proguard_configs = [ "//third_party/hamcrest/proguard.flags" ]
}

java_prebuilt("hamcrest_integration_java") {
  supports_android = true
  testonly = true
  jar_path = "lib/hamcrest-integration.jar"
  proguard_configs = [ "//third_party/hamcrest/proguard.flags" ]
}

java_prebuilt("hamcrest_library_java") {
  supports_android = true
  testonly = true
  jar_path = "lib/hamcrest-library.jar"
  proguard_configs = [ "//third_party/hamcrest/proguard.flags" ]
}
