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