@@ -6,6 +6,10 @@ SPHINXPROJ = launchdarkly-server-sdk
66SOURCEDIR = docs
77BUILDDIR = $(SOURCEDIR ) /build
88
9+ # Package paths
10+ SERVER_AI_PKG = packages/sdk/server-ai
11+ LANGCHAIN_PKG = packages/ai-providers/server-ai-langchain
12+
913.PHONY : help
1014help : # ! Show this help message
1115 @echo ' Usage: make [target] ... '
@@ -14,31 +18,59 @@ help: #! Show this help message
1418 @grep -h -F ' #!' $(MAKEFILE_LIST ) | grep -v grep | sed ' s/:.*#!/:/' | column -t -s" :"
1519
1620.PHONY : install
17- install :
18- @poetry install
21+ install : # ! Install all packages
22+ @cd $(SERVER_AI_PKG ) && poetry install
23+ @cd $(LANGCHAIN_PKG ) && poetry install
24+
25+ .PHONY : install-server-ai
26+ install-server-ai : # ! Install server-ai package
27+ @cd $(SERVER_AI_PKG ) && poetry install
28+
29+ .PHONY : install-langchain
30+ install-langchain : # ! Install langchain provider package
31+ @cd $(LANGCHAIN_PKG ) && poetry install
1932
2033#
2134# Quality control checks
2235#
2336
2437.PHONY : test
25- test : # ! Run unit tests
26- test : install
27- @poetry run pytest $(PYTEST_FLAGS )
38+ test : # ! Run unit tests for all packages
39+ test : test-server-ai
40+
41+ .PHONY : test-server-ai
42+ test-server-ai : # ! Run unit tests for server-ai package
43+ test-server-ai : install-server-ai
44+ @cd $(SERVER_AI_PKG ) && poetry run pytest $(PYTEST_FLAGS )
45+
46+ .PHONY : test-langchain
47+ test-langchain : # ! Run unit tests for langchain provider package
48+ test-langchain : install-langchain
49+ @cd $(LANGCHAIN_PKG ) && poetry run pytest $(PYTEST_FLAGS )
2850
2951.PHONY : lint
30- lint : # ! Run type analysis and linting checks
31- lint : install
32- @poetry run mypy ldai
33- @poetry run isort --check --atomic ldai
34- @poetry run pycodestyle ldai
52+ lint : # ! Run type analysis and linting checks for all packages
53+ lint : lint-server-ai
54+
55+ .PHONY : lint-server-ai
56+ lint-server-ai : # ! Run type analysis and linting checks for server-ai package
57+ lint-server-ai : install-server-ai
58+ @cd $(SERVER_AI_PKG ) && poetry run mypy src/ldai
59+ @cd $(SERVER_AI_PKG ) && poetry run isort --check --atomic src/ldai
60+ @cd $(SERVER_AI_PKG ) && poetry run pycodestyle src/ldai
61+
62+ .PHONY : lint-langchain
63+ lint-langchain : # ! Run type analysis and linting checks for langchain provider package
64+ lint-langchain : install-langchain
65+ @cd $(LANGCHAIN_PKG ) && poetry run mypy src/ldai_langchain
66+ @cd $(LANGCHAIN_PKG ) && poetry run pycodestyle src/ldai_langchain
3567
3668#
3769# Documentation generation
3870#
3971
4072.PHONY : docs
4173docs : # ! Generate sphinx-based documentation
42- @poetry install --with docs
74+ @cd $( SERVER_AI_PKG ) && poetry install --with docs
4375 @cd docs
44- @poetry run $(SPHINXBUILD ) -M html " $( SOURCEDIR) " " $( BUILDDIR) " $(SPHINXOPTS ) $(O )
76+ @cd $( SERVER_AI_PKG ) && poetry run $(SPHINXBUILD ) -M html " ../../../ $( SOURCEDIR) " " ../../../ $( BUILDDIR) " $(SPHINXOPTS ) $(O )
0 commit comments