@@ -17,12 +17,16 @@ load("@rules_gapic//:gapic_pkg.bzl", "construct_package_dir_paths")
1717def _py_gapic_src_pkg_impl (ctx ):
1818 srcjar_srcs = []
1919 dir_srcs = []
20+ py_srcs = []
2021 for dep in ctx .attr .deps :
2122 for f in dep .files .to_list ():
2223 if f .is_directory :
2324 dir_srcs .append (f )
2425 elif f .extension in ("srcjar" , "jar" , "zip" ):
2526 srcjar_srcs .append (f )
27+ # Exclude source files and files for external packages
28+ elif f .extension in ("py" ) and not f .is_source and 'external' not in f .path :
29+ py_srcs .append (f )
2630
2731 paths = construct_package_dir_paths (ctx .attr .package_dir , ctx .outputs .pkg , ctx .label .name )
2832
@@ -34,6 +38,9 @@ def _py_gapic_src_pkg_impl(ctx):
3438 for dir_src in {dir_srcs}; do
3539 cp -rT -L $dir_src {package_dir_path}
3640 done
41+ for py_src in {py_srcs}; do
42+ cp $py_src {package_dir_path}
43+ done
3744 # Replace 555 (forced by Bazel) permissions with 644
3845 find {package_dir_path} -type f -exec chmod 644 {{}} \\ ;
3946 cd {package_dir_path}/..
@@ -44,14 +51,15 @@ def _py_gapic_src_pkg_impl(ctx):
4451 """ .format (
4552 srcjar_srcs = " " .join (["'%s'" % f .path for f in srcjar_srcs ]),
4653 dir_srcs = " " .join (["'%s'" % f .path for f in dir_srcs ]),
54+ py_srcs = " " .join (["'%s'" % f .path for f in py_srcs ]),
4755 package_dir_path = paths .package_dir_path ,
4856 package_dir = paths .package_dir ,
4957 pkg = ctx .outputs .pkg .path ,
5058 package_dir_expr = paths .package_dir_expr ,
5159 )
5260
5361 ctx .actions .run_shell (
54- inputs = srcjar_srcs + dir_srcs ,
62+ inputs = srcjar_srcs + dir_srcs + py_srcs ,
5563 command = script ,
5664 outputs = [ctx .outputs .pkg ],
5765 )
0 commit comments