1 # Description: 2 # An example for custom op and kernel defined as a TensorFlow plugin. 3 4 package( 5 default_visibility = ["//tensorflow:internal"], 6 ) 7 8 licenses(["notice"]) # Apache 2.0 9 10 exports_files(["LICENSE"]) 11 12 load("//tensorflow:tensorflow.bzl", "tf_py_test") 13 load("//tensorflow:tensorflow.bzl", "tf_custom_op_library") 14 15 tf_custom_op_library( 16 name = "ackermann_op.so", 17 srcs = ["ackermann_op.cc"], 18 ) 19 20 tf_py_test( 21 name = "ackermann_test", 22 size = "small", 23 srcs = ["ackermann_test.py"], 24 additional_deps = ["//tensorflow:tensorflow_py"], 25 data = [":ackermann_op.so"], 26 ) 27 28 tf_custom_op_library( 29 name = "duplicate_op.so", 30 srcs = ["duplicate_op.cc"], 31 ) 32 33 tf_py_test( 34 name = "duplicate_op_test", 35 size = "small", 36 srcs = ["duplicate_op_test.py"], 37 additional_deps = ["//tensorflow:tensorflow_py"], 38 data = [":duplicate_op.so"], 39 ) 40 41 tf_custom_op_library( 42 name = "invalid_op.so", 43 srcs = ["invalid_op.cc"], 44 ) 45 46 tf_py_test( 47 name = "invalid_op_test", 48 size = "small", 49 srcs = ["invalid_op_test.py"], 50 additional_deps = ["//tensorflow:tensorflow_py"], 51 data = [":invalid_op.so"], 52 ) 53 54 filegroup( 55 name = "all_files", 56 srcs = glob( 57 ["**/*"], 58 exclude = [ 59 "**/METADATA", 60 "**/OWNERS", 61 ], 62 ), 63 visibility = ["//tensorflow:__subpackages__"], 64 ) 65