Add support for runnable projects
This commit is contained in:
parent
5f0f1147b1
commit
dc17b75fa2
1 changed files with 21 additions and 2 deletions
|
@ -146,6 +146,7 @@ py_resources = rule(
|
|||
)
|
||||
|
||||
def py_project(name=None,
|
||||
main=None,
|
||||
lib_srcs=None,
|
||||
lib_deps=None,
|
||||
lib_data=None,
|
||||
|
@ -184,8 +185,10 @@ def py_project(name=None,
|
|||
"**/*.pyc",
|
||||
])
|
||||
|
||||
lib_name = name if not main else "lib"
|
||||
|
||||
py_library(
|
||||
name=name,
|
||||
name=lib_name,
|
||||
srcs=lib_srcs,
|
||||
deps=lib_deps,
|
||||
data=lib_data,
|
||||
|
@ -198,12 +201,28 @@ def py_project(name=None,
|
|||
],
|
||||
)
|
||||
|
||||
if main:
|
||||
py_binary(
|
||||
name = name,
|
||||
main = main,
|
||||
imports=[
|
||||
"src/python",
|
||||
"src/resources",
|
||||
],
|
||||
deps=[
|
||||
lib_name,
|
||||
],
|
||||
visibility = [
|
||||
"//visibility:public",
|
||||
],
|
||||
)
|
||||
|
||||
for src in test_srcs:
|
||||
if "test_" in src:
|
||||
py_pytest(
|
||||
name=src.split("/")[-1],
|
||||
srcs=[src] + [f for f in test_srcs if "test_" not in f],
|
||||
deps=[name] + (test_deps or []),
|
||||
deps=[lib_name] + (test_deps or []),
|
||||
data=test_data,
|
||||
imports=[
|
||||
"test/python",
|
||||
|
|
Loading…
Reference in a new issue