Add support for runnable projects

This commit is contained in:
Reid 'arrdem' McKenzie 2021-08-21 17:18:46 -06:00
parent 5f0f1147b1
commit dc17b75fa2

View file

@ -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",