• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2016 The Chromium Authors
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//build/config/android/rules.gni")
6import("//testing/test.gni")
7import("//third_party/jni_zero/jni_zero.gni")
8
9generate_jni("jni_sample_header") {
10  sources = [
11    "java/src/org/jni_zero/samples/SampleForAnnotationProcessor.java",
12    "java/src/org/jni_zero/samples/SampleForTests.java",
13  ]
14}
15
16android_library("jni_sample_java") {
17  srcjar_deps = [ ":jni_sample_header" ]
18  sources = [
19    "java/src/org/jni_zero/samples/SampleForAnnotationProcessor.java",
20    "java/src/org/jni_zero/samples/SampleForTests.java",
21  ]
22
23  deps = [
24    "//build/android:build_java",
25    "//third_party/jni_zero:jni_zero_java",
26  ]
27}
28
29source_set("jni_sample_native_side") {
30  deps = [
31    ":jni_sample_header",
32    "//base",
33  ]
34  sources = [
35    "sample_for_tests.cc",
36    "sample_for_tests.h",
37  ]
38}
39
40generate_jni_registration("jni_registration") {
41  java_targets = [ ":jni_sample_java" ]
42  manual_jni_registration = true
43}
44
45shared_library("jni_sample_lib") {
46  sources = [ "sample_entry_point.cc" ]
47
48  deps = [
49    ":jni_registration",
50    ":jni_sample_native_side",
51    "//base",
52  ]
53}
54
55android_apk("sample_jni_apk") {
56  apk_name = "SampleJni"
57  android_manifest = "AndroidManifest.xml"
58  deps = [ ":jni_sample_java" ]
59  shared_libraries = [ ":jni_sample_lib" ]
60}
61
62# Serves to test that generated bindings compile properly.
63group("jni_generator_tests") {
64  deps = [ ":sample_jni_apk" ]
65}
66