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,
|
def py_project(name=None,
|
||||||
|
main=None,
|
||||||
lib_srcs=None,
|
lib_srcs=None,
|
||||||
lib_deps=None,
|
lib_deps=None,
|
||||||
lib_data=None,
|
lib_data=None,
|
||||||
|
@ -184,8 +185,10 @@ def py_project(name=None,
|
||||||
"**/*.pyc",
|
"**/*.pyc",
|
||||||
])
|
])
|
||||||
|
|
||||||
|
lib_name = name if not main else "lib"
|
||||||
|
|
||||||
py_library(
|
py_library(
|
||||||
name=name,
|
name=lib_name,
|
||||||
srcs=lib_srcs,
|
srcs=lib_srcs,
|
||||||
deps=lib_deps,
|
deps=lib_deps,
|
||||||
data=lib_data,
|
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:
|
for src in test_srcs:
|
||||||
if "test_" in src:
|
if "test_" in src:
|
||||||
py_pytest(
|
py_pytest(
|
||||||
name=src.split("/")[-1],
|
name=src.split("/")[-1],
|
||||||
srcs=[src] + [f for f in test_srcs if "test_" not in f],
|
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,
|
data=test_data,
|
||||||
imports=[
|
imports=[
|
||||||
"test/python",
|
"test/python",
|
||||||
|
|
Loading…
Reference in a new issue