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

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

_jni_sources =
    [ "java/src/org/chromium/components/crash/browser/ChildProcessCrashObserver.java",
      "java/src/org/chromium/components/crash/browser/CrashDumpManager.java" ]

generate_jni("jni_headers") {
  sources = _jni_sources
  jni_package = "crash"
}

android_library("java") {
  deps = [
    "//base:base_java",
  ]
  java_files = _jni_sources
}

android_library("javatests") {
  testonly = true
  deps = [
    ":java",
    "//base:base_java",
    "//base:base_java_test_support",
    "//third_party/android_support_test_runner:runner_java",
    "//third_party/junit",
  ]
  java_files = [ "javatests/src/org/chromium/components/crash/browser/CrashDumpManagerTest.java" ]
}
