Add support for runnable projects

This commit is contained in:
Reid 'arrdem' McKenzie 2021-08-21 17:18:46 -06:00
parent d6a811118d
commit 385cd9d83e

View file

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