# 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")
import("//chrome/android/webapk/libs/runtime_library_version.gni")

android_library("client") {
  java_files = [
    "src/org/chromium/webapk/lib/client/DexOptimizer.java",
    "src/org/chromium/webapk/lib/client/NavigationClient.java",
    "src/org/chromium/webapk/lib/client/WebApkServiceConnectionManager.java",
    "src/org/chromium/webapk/lib/client/WebApkValidator.java",
  ]
  deps = [
    "//chrome/android/webapk/libs/common",
  ]
  srcjar_deps = [
    ":runtime_library_version_java",
    "//chrome/android/webapk/libs/runtime_library:webapk_service_aidl",
  ]
}

java_cpp_template("runtime_library_version_java") {
  package_name = "org/chromium/webapk/lib/client"
  sources = [
    "src/org/chromium/webapk/lib/client/WebApkVersion.template",
  ]
  defines = [ "CURRENT_RUNTIME_DEX_VERSION_VALUE=$runtime_library_version" ]
}

junit_binary("webapk_client_junit_tests") {
  java_files = [
    "junit/src/org/chromium/webapk/lib/client/WebApkServiceConnectionManagerTest.java",
    "junit/src/org/chromium/webapk/lib/client/WebApkValidatorTest.java",
  ]
  deps = [
    ":client",
    "//base:base_junit_test_support",
  ]
}
