jan/feature/20260922-build-recommends into master Add recommended projects into the build closure. Would be nice if they got built along. Let's see if nightly survives it. Signed-off-by: Jan Lindemann <jan@janware.com>
Add and use JW_PKG_PY_REQUIRED_OS_PKG. The variable and its use effectively ties more targets to act on the same package set as the make all, influenced by the contents of $(PKG_RELATIONS_BUILD): echo-build-deps echo-install-deps echo-release-deps pkg-install-build-deps pkg-install-release-deps Signed-off-by: Jan Lindemann <jan@janware.com>
DEP_PROJECTS is computed with pkg-requires --recursive, which follows [pkg.requires.jw] only. That set does not match what the build actually builds, and it omits seed projects that no other project of the closure depends on. Derive DEP_PROJECTS from projects build --build-order with the same dependency flavours as make all, the very command the build-order make target and the workspace mount closure (mount-projects-dir.sh) use. DEP_PROJECTS is now exactly the build closure, so the file listings, the text-files cache and the git helpers of a workspace cover the same project set as make all. Introduce the PKG_RELATIONS_BUILD variable, defaulting to requires, and pass it through JW_PKG_PY_BUILD to every build invocation of the workspace, so the relations of the build closure are a workspace property. Signed-off-by: Jan Lindemann <jan@janware.com> Assisted-by: unsloth/Qwen3.8-27B-GGUF:Q4_K_M with pi.dev v0.86.1
The OS package list of required-os-pkg, like the build closure, is derived from the [pkg.requires.jw] section only, hard-coded in _run(). Add a --pkg-relations option to required-os-pkg, mirroring the one of CmdBuild. Signed-off-by: Jan Lindemann <jan@janware.com> Assisted-by: unsloth/Qwen3.8-27B-GGUF:Q4_K_M with pi.dev v0.86.1
The relations the build closure of projects build follows are hard-coded in read_deps(): [pkg.requires.jw] only. A workspace that also wants to build the projects its seeds recommend in [pkg.recommends.jw] has no way to say so. Add a --pkg-relations option that lists the relations between jw packages to take into consideration for the build, comma or space separated, defaulting to requires. Signed-off-by: Jan Lindemann <jan@janware.com> Assisted-by: unsloth/Qwen3.8-27B-GGUF:Q4_K_M with pi.dev v0.86.1