BobBuildTool 1.2.0__tar.gz → 1.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/.github/workflows/workflow.yaml +9 -4
  2. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/PKG-INFO +1 -1
  3. bobbuildtool-1.3.0/contrib/plugins/command.py +25 -0
  4. bobbuildtool-1.3.0/doc/glossary.rst +72 -0
  5. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-clean.rst +19 -3
  6. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-ls-recipes.rst +1 -1
  7. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-ls.rst +17 -14
  8. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-status.rst +19 -9
  9. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bobpaths.rst +23 -16
  10. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manual/audit-trail.rst +8 -5
  11. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manual/concepts.rst +3 -2
  12. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manual/configuration.rst +350 -70
  13. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manual/extending.rst +65 -0
  14. bobbuildtool-1.3.0/doc/releases/1.3.rst +191 -0
  15. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/index.rst +1 -0
  16. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/tutorial/compile.rst +11 -1
  17. bobbuildtool-1.3.0/doc/tutorial/create.rst +370 -0
  18. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/tutorial/index.rst +2 -0
  19. bobbuildtool-1.3.0/doc/tutorial/provide-interpreter.rst +372 -0
  20. bobbuildtool-1.3.0/doc/tutorial/virtual-packages.rst +245 -0
  21. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/BobBuildTool.egg-info/PKG-INFO +1 -1
  22. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/BobBuildTool.egg-info/SOURCES.txt +6 -0
  23. bobbuildtool-1.3.0/pym/BobBuildTool.egg-info/scm_file_list.json +726 -0
  24. bobbuildtool-1.3.0/pym/BobBuildTool.egg-info/scm_version.json +8 -0
  25. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/archive.py +272 -81
  26. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/builder.py +12 -1
  27. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/archive.py +21 -30
  28. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/build/build.py +13 -3
  29. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/build/clean.py +2 -10
  30. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/build/query.py +3 -18
  31. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/build/status.py +3 -11
  32. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/graph.py +2 -16
  33. bobbuildtool-1.3.0/pym/bob/cmds/help.py +73 -0
  34. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/helpers.py +18 -0
  35. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/invoke.py +18 -1
  36. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/jenkins/intermediate.py +18 -1
  37. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/jenkins/jenkins.py +13 -3
  38. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/misc.py +8 -79
  39. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/show.py +2 -16
  40. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/develop/version.py +1 -1
  41. bobbuildtool-1.3.0/pym/bob/errors.py +138 -0
  42. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/input.py +585 -233
  43. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/intermediate.py +49 -1
  44. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/invoker.py +146 -94
  45. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/languages.py +249 -71
  46. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/pathspec.py +88 -61
  47. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/scm/__init__.py +3 -1
  48. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/scm/scm.py +35 -20
  49. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/scm/svn.py +53 -2
  50. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/scripts.py +35 -10
  51. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/stringparser.py +201 -107
  52. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/tty.py +283 -182
  53. bobbuildtool-1.3.0/pym/bob/version.py +24 -0
  54. bobbuildtool-1.3.0/pym/bob/webdav.py +294 -0
  55. bobbuildtool-1.3.0/pyproject.toml +7 -0
  56. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/setup.py +0 -10
  57. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/src/namespace-sandbox/namespace-sandbox.c +4 -1
  58. bobbuildtool-1.2.0/doc/glossary.rst +0 -38
  59. bobbuildtool-1.2.0/doc/tutorial/create.rst +0 -6
  60. bobbuildtool-1.2.0/pym/bob/cmds/help.py +0 -45
  61. bobbuildtool-1.2.0/pym/bob/errors.py +0 -69
  62. bobbuildtool-1.2.0/pym/bob/version.py +0 -34
  63. bobbuildtool-1.2.0/pym/bob/webdav.py +0 -253
  64. bobbuildtool-1.2.0/pyproject.toml +0 -3
  65. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/.gitattributes +0 -0
  66. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  67. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  68. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/.gitignore +0 -0
  69. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/.readthedocs.yaml +0 -0
  70. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/LICENSE +0 -0
  71. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/MANIFEST.in +0 -0
  72. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/README.md +0 -0
  73. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/bob +0 -0
  74. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/bob.cmd +0 -0
  75. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/contrib/bash-completion/bob +0 -0
  76. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/contrib/cleanup-recipes.awk +0 -0
  77. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/contrib/create-release.sh +0 -0
  78. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/contrib/docker/Dockerfile +0 -0
  79. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/contrib/docker/install-packages.sh +0 -0
  80. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/contrib/notify.sh +0 -0
  81. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/contrib/plugins/jenkins-cobertura.py +0 -0
  82. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/contrib/plugins/override.py +0 -0
  83. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/contrib/plugins/path-fmt.py +0 -0
  84. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/contrib/sandbox.rst +0 -0
  85. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/BOB_Logo.png +0 -0
  86. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/BOB_Logo.svg +0 -0
  87. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/Makefile +0 -0
  88. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/_build/.gitignore +0 -0
  89. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/_static/.gitkeep +0 -0
  90. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/_static/css/custom.css +0 -0
  91. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/_static/d3.v4.min.js +0 -0
  92. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/_static/sandbox.html +0 -0
  93. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/_templates/.gitkeep +0 -0
  94. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/cheatsheet/bob_cheatsheet.pdf +0 -0
  95. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/cheatsheet/bob_cheatsheet.tex +0 -0
  96. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/conf.py +0 -0
  97. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/images/jenkins.odg +0 -0
  98. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/images/jenkins.png +0 -0
  99. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/images/overview.odg +0 -0
  100. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/images/overview.png +0 -0
  101. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/images/recipe-flow.odg +0 -0
  102. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/images/recipe-flow.png +0 -0
  103. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/images/sandbox_graph.png +0 -0
  104. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/images/variant-management.odg +0 -0
  105. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/images/variant-management.png +0 -0
  106. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/index.rst +0 -0
  107. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/installation.rst +0 -0
  108. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-archive.rst +0 -0
  109. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-build-dev.rst +0 -0
  110. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-build.rst +0 -0
  111. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-dev.rst +0 -0
  112. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-graph.rst +0 -0
  113. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-init.rst +0 -0
  114. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-jenkins.rst +0 -0
  115. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-layers.rst +0 -0
  116. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-project.rst +0 -0
  117. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-query-meta.rst +0 -0
  118. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-query-path.rst +0 -0
  119. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-query-recipe.rst +0 -0
  120. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-query-scm.rst +0 -0
  121. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-show.rst +0 -0
  122. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob.rst +0 -0
  123. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/index.rst +0 -0
  124. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/std-opt-cfg.rst +0 -0
  125. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manual/index.rst +0 -0
  126. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manual/introduction.rst +0 -0
  127. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manual/policies.rst +0 -0
  128. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.13.rst +0 -0
  129. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.14.rst +0 -0
  130. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.15.rst +0 -0
  131. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.16.rst +0 -0
  132. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.17.rst +0 -0
  133. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.18.rst +0 -0
  134. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.19.rst +0 -0
  135. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.20.rst +0 -0
  136. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.21.rst +0 -0
  137. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.22.rst +0 -0
  138. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.23.rst +0 -0
  139. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.24.rst +0 -0
  140. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.25.rst +0 -0
  141. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/1.0.rst +0 -0
  142. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/1.1.rst +0 -0
  143. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/1.2.rst +0 -0
  144. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/requirements.txt +0 -0
  145. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/tutorial/archive.rst +0 -0
  146. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/tutorial/fingerprints.rst +0 -0
  147. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/tutorial/jenkins.rst +0 -0
  148. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/BobBuildTool.egg-info/dependency_links.txt +0 -0
  149. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/BobBuildTool.egg-info/entry_points.txt +0 -0
  150. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/BobBuildTool.egg-info/not-zip-safe +0 -0
  151. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/BobBuildTool.egg-info/requires.txt +0 -0
  152. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/BobBuildTool.egg-info/top_level.txt +0 -0
  153. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/__init__.py +0 -0
  154. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/audit.py +0 -0
  155. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/__init__.py +0 -0
  156. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/build/__init__.py +0 -0
  157. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/build/project.py +0 -0
  158. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/build/state.py +0 -0
  159. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/jenkins/__init__.py +0 -0
  160. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/jenkins/exec.py +0 -0
  161. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/layers.py +0 -0
  162. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/develop/__init__.py +0 -0
  163. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/develop/make.py +0 -0
  164. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/generators/EclipseCdtGenerator.py +0 -0
  165. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/generators/QtCreatorGenerator.py +0 -0
  166. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/generators/VisualStudio.py +0 -0
  167. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/generators/VisualStudioCode.py +0 -0
  168. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/generators/__init__.py +0 -0
  169. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/generators/common.py +0 -0
  170. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/layers.py +0 -0
  171. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/scm/cvs.py +0 -0
  172. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/scm/git.py +0 -0
  173. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/scm/imp.py +0 -0
  174. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/scm/url.py +0 -0
  175. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/share.py +0 -0
  176. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/state.py +0 -0
  177. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/utils.py +0 -0
  178. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/setup.cfg +0 -0
  179. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/src/namespace-sandbox/network-tools.c +0 -0
  180. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/src/namespace-sandbox/network-tools.h +0 -0
  181. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/src/namespace-sandbox/process-tools.c +0 -0
  182. {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/src/namespace-sandbox/process-tools.h +0 -0
@@ -37,7 +37,7 @@ jobs:
37
37
  run: |
38
38
  python -m pip install --upgrade pip
39
39
  python -m pip install --upgrade setuptools
40
- pip install PyYAML coverage schema python-magic pyparsing sphinx wheel
40
+ pip install PyYAML coverage schema python-magic pyparsing sphinx wheel build
41
41
  sudo apt-get update
42
42
  sudo apt-get install cvs subversion
43
43
 
@@ -50,7 +50,9 @@ jobs:
50
50
 
51
51
  - name: Build Python package
52
52
  run: |
53
- python3 setup.py bdist_wheel --plat-name manylinux1_x86_64
53
+ python3 -m build --wheel -C--build-option=--plat-name=manylinux1_x86_64
54
+ # make sure setuptools-scm did run
55
+ test -f pym/bob/version.py
54
56
 
55
57
  - name: Upload coverage to Codecov
56
58
  uses: codecov/codecov-action@v4
@@ -99,6 +101,7 @@ jobs:
99
101
 
100
102
  - name: Run unit tests
101
103
  run: |
104
+ Set-MpPreference -DisableRealtimeMonitoring $true
102
105
  git config --global init.defaultBranch master # keep the old name
103
106
  git config --global protocol.file.allow always # roll back CVE-2022-39253
104
107
  $env:PATH = "$env:PATH;C:\msys64\usr\bin"
@@ -126,11 +129,13 @@ jobs:
126
129
  run: |
127
130
  python -m pip install --upgrade pip
128
131
  python -m pip install --upgrade setuptools
129
- pip install PyYAML schema python-magic pyparsing sphinx wheel
132
+ pip install PyYAML schema python-magic pyparsing sphinx wheel build
130
133
 
131
134
  - name: Build Python package
132
135
  run: |
133
- python3 setup.py sdist
136
+ python3 -m build --sdist
137
+ # make sure setuptools-scm did run
138
+ test -f pym/bob/version.py
134
139
 
135
140
  - name: Store the source distribution
136
141
  uses: actions/upload-artifact@v4
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: BobBuildTool
3
- Version: 1.2.0
3
+ Version: 1.3.0
4
4
  Summary: Functional cross platform build-automation tool
5
5
  Home-page: https://bobbuildtool.github.io/
6
6
  Download-URL: https://github.com/BobBuildTool/bob/releases
@@ -0,0 +1,25 @@
1
+ # Sample plugin that adds a new top level command: 'bob hello'
2
+ #
3
+ # Run e.g. 'bob hello root' to print the path of all matching packages.
4
+
5
+ import argparse
6
+
7
+ def doHello(packages, argv, bobRoot):
8
+ parser = argparse.ArgumentParser(prog="bob hello",
9
+ description="Print the path of all matching packages.")
10
+ parser.add_argument('package', nargs='?', default="",
11
+ help="Package to query (defaults to all root packages)")
12
+ args = parser.parse_args(argv)
13
+
14
+ for (stack, node) in packages.queryTreePath(args.package):
15
+ print("/".join(stack) if stack else "/")
16
+
17
+ manifest = {
18
+ 'apiVersion' : "1.2.1.dev1",
19
+ 'commands' : {
20
+ 'hello' : {
21
+ 'func' : doHello,
22
+ 'help' : "Print all package paths",
23
+ },
24
+ },
25
+ }
@@ -0,0 +1,72 @@
1
+ Glossary
2
+ ========
3
+
4
+ .. glossary::
5
+
6
+ Variant-Id
7
+ Describes *how* a particular :term:`Step` of a :term:`Package` is
8
+ built. This includes all scripts, environment variables and recursive
9
+ dependencies. See :ref:`concepts-implicit-versioning`.
10
+
11
+ Build-Id
12
+ Describes *what* is actually being built. This takes into account the
13
+ actual sources of the checkout step, the build- and package-step scripts
14
+ and recursively all depenencies. It identifies the (expected) build
15
+ result and is used as index key of binary artifacts. See
16
+ :ref:`concepts-implicit-versioning`.
17
+
18
+ Recipe
19
+ Yaml file holding the blueprint of what packages are built. Can inherit
20
+ from :term:`classes <Class>` to reduce redundancy. When parsing the
21
+ recipe graph one or more :term:`packages <Package>` are created from a
22
+ single recipe.
23
+
24
+ Package
25
+ Particular instance of a recipe after resolving all inputs of the recipe
26
+ (environment, tools, sandbox) and all dependencies.
27
+
28
+ Class
29
+ Syntactically the same as a recipe. Used to factor out common parts
30
+ of recipes to remove redundancy.
31
+
32
+ Step
33
+ One of the three individual build steps of a recipe/package that are
34
+ defined in Bob: checkout-, build- and package-step.
35
+
36
+ Package-Id
37
+ Describes *how* a :term:`Package` is built. Identical to the
38
+ :term:`Variant-Id` of the package :term:`Step`.
39
+
40
+ Upstream
41
+ Relative direction in the dependency graph towards the dependencies of
42
+ a recipe. The dependencies of a recipe are its upstream recipes.
43
+
44
+ Downstream
45
+ Relative direction in the dependency graph towards the consumers of a
46
+ recipe. The recipes that depend on a recipe are its downstream recipes.
47
+
48
+ Declared dependency
49
+ A dependency that is explicitly named in the
50
+ :ref:`configuration-recipes-depends` section of a recipe. Also called
51
+ *direct* dependency. See :ref:`configuration-principle-dependencies`.
52
+
53
+ Provided dependency
54
+ A dependency that a recipe offers to its :term:`downstream <Downstream>`
55
+ recipes by listing it in :ref:`configuration-recipes-providedeps`.
56
+ Always refers to the providing side. See
57
+ :ref:`configuration-principle-dependencies`.
58
+
59
+ Injected dependency
60
+ A dependency that a recipe receives because it was provided by one of
61
+ its :term:`declared dependencies <Declared dependency>`. It is not named
62
+ in the receiving recipe. See
63
+ :ref:`configuration-principle-dependencies`.
64
+
65
+ Ambient dependency
66
+ A tool, sandbox or interpreter that a recipe inherits from its
67
+ :term:`downstream <Downstream>` recipes. See
68
+ :ref:`configuration-principle-dependencies`.
69
+
70
+ Transitive dependency
71
+ A package that is reachable by recursively following the dependencies
72
+ of a package. See :ref:`configuration-principle-dependencies`.
@@ -15,9 +15,10 @@ Synopsis
15
15
 
16
16
  ::
17
17
 
18
- bob clean [-h] [--develop | --release | --attic | --shared]
19
- [-c CONFIGFILE] [-D DEFINES] [--dry-run] [-f] [-s]
20
- [--all-unused] [--used] [--sandbox | --no-sandbox] [-v]
18
+ bob clean [-h] [--develop | --release | --attic | --shared] [--dry-run]
19
+ [-f] [-s] [--all-unused] [--used] [-D DEFINES]
20
+ [-c CONFIGFILE] [--sandbox | --slim-sandbox | --dev-sandbox |
21
+ --strict-sandbox | --no-sandbox] [-v]
21
22
 
22
23
 
23
24
  Description
@@ -68,6 +69,12 @@ Options
68
69
  ``--attic``
69
70
  Remove attic directories.
70
71
 
72
+ ``--dev-sandbox``
73
+ Enable development sandboxing.
74
+
75
+ ``--no-sandbox``
76
+ Disable sandboxing
77
+
71
78
  ``--shared``
72
79
  Delete packages from shared location.
73
80
 
@@ -97,6 +104,15 @@ Options
97
104
  are actually deleted. While Bob can check SCMs that it knows it cannot
98
105
  detect all modifications, e.g. changes to extracted tar files.
99
106
 
107
+ ``--sandbox``
108
+ Enable partial sandboxing.
109
+
110
+ ``--slim-sandbox``
111
+ Enable slim sandboxing.
112
+
113
+ ``--strict-sandbox``
114
+ Enable strict sandboxing.
115
+
100
116
  ``--used``
101
117
  If a package is still used by a project on the machine it is not deleted by
102
118
  default even if the quota is still exceeded. By giving this option such
@@ -72,4 +72,4 @@ Options
72
72
 
73
73
  ``--used``
74
74
  List all used recipes. These are recipes that are referenced directly or
75
- indirectly by a root package.
75
+ transitively by a root package.
@@ -27,19 +27,22 @@ List package dependencies. The optional ``package`` argument specifies what
27
27
  package(s) should be listed. If no package is specified the virtual root
28
28
  package is used, thus printing all top level packages and aliases. The ``/``
29
29
  package path selects the virtual root package too but does not list aliases as
30
- it is a absolute location path. See :ref:`bobpaths(7) <manpage-bobpaths>` for
30
+ it is an absolute location path. See :ref:`bobpaths(7) <manpage-bobpaths>` for
31
31
  how to specify packages and how aliases are handled.
32
32
 
33
- By default only the direct dependencies of the package are displayed. By adding
34
- ``-a`` the indirect dependencies (i.e. dependencies collected from
35
- :ref:`provideDeps <configuration-recipes-providedeps>`) are displayed too. To
36
- see the relative path from where the indirect dependencies were inherited add
37
- ``-o``.
33
+ By default only the declared dependencies of the package are displayed. By
34
+ adding ``-a`` the injected dependencies (i.e. dependencies provided by its
35
+ declared dependencies through :ref:`provideDeps
36
+ <configuration-recipes-providedeps>`) are displayed too. To see the relative
37
+ path from where the injected dependencies originate add ``-o``. See
38
+ :ref:`configuration-principle-dependencies` for the definition of these terms.
38
39
 
39
40
  Without any further options only the first level of dependencies is listed.
40
- Adding ``-r`` shows a graphical tree of all transitive dependencies too. To get
41
- a list of all transitive dependencies instead, specify ``-p``. This will print
42
- each package on a separate line with the full package path. The aliases listed
41
+ Adding ``-r`` shows a graphical tree of all transitive dependencies too.
42
+ Recursion follows the same dependencies that are displayed, i.e. only declared
43
+ dependencies unless ``-a`` is given. Adding ``-p`` prints each package on a
44
+ separate line with the full package path instead of the tree. Combined with
45
+ ``-r`` this lists all transitive dependencies. The aliases listed
43
46
  below the virtual root package are not recursively traversed as they can
44
47
  involve arbitrarily complex queries. If you want to recursively list the
45
48
  dependencies of an alias you have to specify it explicitly as ``package``
@@ -52,14 +55,14 @@ cannot be used in conjunction with the ``-p`` option and ignores further ``-a``,
52
55
  ``-o`` and ``-r`` options.
53
56
 
54
57
  To see *every* package selected by the query, add ``-A``. This will print all
55
- alternate paths to identical packages. This affects only the ``d`` and ``-p``
58
+ alternate paths to identical packages. This affects only the ``-d`` and ``-p``
56
59
  options, because the path leading to the selected packages is significant.
57
60
 
58
61
  Options
59
62
  -------
60
63
 
61
64
  ``-a, --all``
62
- Show indirect dependencies too. By default only direct dependencies (i.e.
65
+ Show injected dependencies too. By default only declared dependencies (i.e.
63
66
  dependencies explicitly specified in the recipe) are displayed.
64
67
 
65
68
  ``-A, --alternates``
@@ -87,12 +90,12 @@ Options
87
90
  Disable sandboxing
88
91
 
89
92
  ``-o, --origin``
90
- Show origin of indirect dependencies. This is printed as relative path to
93
+ Show origin of injected dependencies. This is printed as relative path to
91
94
  the current package.
92
95
 
93
96
  ``-p, --prefixed``
94
- Prints the full path prefix for each package. Without this option a
95
- graphical tree of the dependencies is displayed.
97
+ Prints the full path prefix for each package. Without this option, a
98
+ graphical tree of the dependencies is displayed when ``-r`` is given.
96
99
 
97
100
  ``-r, --recursive``
98
101
  Recursively display dependencies
@@ -15,10 +15,11 @@ Synopsis
15
15
 
16
16
  ::
17
17
 
18
- bob status [-h] [--develop | --release] [-c CONFIGFILE] [-D DEFINES]
19
- [--attic] [-r] [--sandbox | --no-sandbox] [--show-clean]
20
- [--show-overrides] [-v]
21
- [packages [packages ...]]
18
+ bob status [-h] [--develop | --release] [--attic] [-r] [-D DEFINES]
19
+ [-c CONFIGFILE] [--sandbox | --slim-sandbox |
20
+ --dev-sandbox | --strict-sandbox | --no-sandbox]
21
+ [--show-clean] [--show-overrides] [-v]
22
+ [packages ...]
22
23
 
23
24
  Description
24
25
  -----------
@@ -55,20 +56,29 @@ Options
55
56
  ``--develop``
56
57
  Use developer mode. This is the default.
57
58
 
59
+ ``--dev-sandbox``
60
+ Enable development sandboxing.
61
+
58
62
  ``--no-sandbox``
59
63
  Disable sandboxing
60
64
 
61
65
  ``-r, --recursive``
62
- Recursively display dependencies. Only direct dependencies are considered,
63
- i.e. packages that are named in the ``depends`` section of the recipe.
64
- Consumed tool- and sandbox- packages that were forwarded are thus not
65
- visited.
66
+ Recursively display dependencies. Only declared dependencies are
67
+ considered, i.e. packages that are named in the ``depends`` section of the
68
+ recipe. Injected dependencies as well as ambient tool-, sandbox- and
69
+ interpreter-packages are thus not visited.
66
70
 
67
71
  ``--release``
68
72
  Use release mode.
69
73
 
70
74
  ``--sandbox``
71
- Enable sandboxing
75
+ Enable partial sandboxing.
76
+
77
+ ``--slim-sandbox``
78
+ Enable slim sandboxing.
79
+
80
+ ``--strict-sandbox``
81
+ Enable strict sandboxing.
72
82
 
73
83
  ``--show-clean``
74
84
  Show the status of a checkout even if unmodified. This includes
@@ -30,7 +30,9 @@ Examples:
30
30
  When Bob parses the recipes he builds an internal package graph. The general
31
31
  dependency structure is derived from the recipes. Depending on the actual
32
32
  content one or more packages are generated from a recipe. The Bob queries are
33
- working on the package graph.
33
+ working on the package graph. Ambient dependencies (tools, sandbox and
34
+ interpreters) that a package inherits from its downstream recipes are not part
35
+ of its children in the package graph.
34
36
 
35
37
  The primary constructs of Bob paths are the location path and predicate
36
38
  expressions. Both are evaluated with respect to a context which consists of:
@@ -53,7 +55,7 @@ stays constant throughout the whole evaluation.
53
55
 
54
56
  A path is parsed by first dividing the character string into tokens and then
55
57
  parsing the resulting sequence of tokens. Whitespaces are ignored between
56
- tokens and may be freely injected. Some tokes (e.g. ``*``, ``[`` or ``]``)
58
+ tokens and may be freely injected. Some tokens (e.g. ``*``, ``[`` or ``]``)
57
59
  collide with special characters of the shell. Care should be taken to correctly
58
60
  quote or escape these characters when invoking Bob from the command line.
59
61
 
@@ -84,7 +86,7 @@ All examples above are abbreviations of the verbose syntax. See the following
84
86
  examples for the full syntax:
85
87
 
86
88
  * ``child@foo`` selects the ``foo`` child package of the context package
87
- * ``chils@f*`` selects all children of the context package starting with ``f``
89
+ * ``child@f*`` selects all children of the context package starting with ``f``
88
90
  * ``/child@foo/child@bar`` selects the ``bar`` child of the ``foo`` top level
89
91
  package
90
92
  * ``descendant@foo`` selects the ``foo`` descendants of the context package
@@ -100,11 +102,11 @@ examples for the full syntax:
100
102
  * ``child@*["${LICENSE}" == "GPLv2"]`` selects all children of the context package
101
103
  that are licensed as GPLv2
102
104
  * ``child@lib*[child@libc]`` selects the children starting with ``lib`` of the
103
- context package that have a ``libc`` child (i.e. that have a dependency to
104
- ``libc``)
105
+ context package that have a ``libc`` child (i.e. that have a declared or
106
+ injected dependency to ``libc``)
105
107
  * ``descendant-or-self@lib*["${LICENSE}" == "GPLv2" && child@libc]`` selects
106
- the context package or any of it descendants that start with ``lib`` which
107
- are licensed as GPLv2 and have a direct dependency to ``libc``
108
+ the context package or any of its descendants that start with ``lib`` which
109
+ are licensed as GPLv2 and have a declared or injected dependency to ``libc``
108
110
 
109
111
  There are two kinds of location path: relative location paths and absolute
110
112
  location paths.
@@ -137,17 +139,21 @@ Location steps
137
139
  The syntax for a location step is ``axis@name[predicate]``.
138
140
 
139
141
  Axis specifier
140
- The following axis are available:
142
+ The following axes are available:
141
143
 
142
144
  * the ``self`` axis contains just the context package itself,
143
- * the ``child`` axis contains all children of the context package,
145
+ * the ``child`` axis contains all children of the context package (i.e.
146
+ its declared and injected dependencies),
144
147
  * the ``direct-child`` axis contains the direct children of the context
145
- package (i.e. without provided dependencies),
148
+ package (i.e. only its declared dependencies without injected
149
+ dependencies),
146
150
  * the ``descendant`` axis contains all descendants of the context package;
147
- a descendant is a child or a child of a child and so on,
151
+ a descendant is a child or a child of a child and so on (i.e. its
152
+ transitive dependencies following declared and injected dependencies),
148
153
  * the ``direct-descendant`` axis contains the direct descendants of the
149
154
  context package; a direct descendant is a direct child or a direct child
150
- of a direct child and so on,
155
+ of a direct child and so on (i.e. its transitive dependencies following
156
+ only declared dependencies),
151
157
  * the ``descendant-or-self`` axis contains the context package and the
152
158
  descendants of the context package
153
159
  * the ``direct-descendant-or-self`` axis contains the context package and
@@ -247,7 +253,7 @@ String literals
247
253
  String function calls
248
254
  ~~~~~~~~~~~~~~~~~~~~~
249
255
  String functions may be called directly without relying on string
250
- substitution. The general syntax is the funcion name, an opening
256
+ substitution. The general syntax is the function name, an opening
251
257
  parenthesis, zero or more arguments separated by comma and a closing
252
258
  parenthesis.
253
259
 
@@ -278,10 +284,11 @@ Operator Associativity Operand type Meaning
278
284
 
279
285
  See the following examples for some complex expressions:
280
286
 
281
- * ``"${FOO}" == "bar"`` selects packages which use variable ``FOO`` an where
287
+ * ``"${FOO}" == "bar"`` selects packages which use variable ``FOO`` and where
282
288
  the value is ``bar``
283
289
  * ``!match("${LICENSE}", "GPL") && *[ match("${LICENSE}", "GPL") ]`` selects
284
- packages that are *not* GPL-licensed and depend on a GPL-licensed package
290
+ packages that are *not* GPL-licensed and have a declared or injected
291
+ dependency to a GPL-licensed package
285
292
 
286
293
  .. _manpage-bobpaths-aliases:
287
294
 
@@ -302,7 +309,7 @@ Example definitions::
302
309
  allTests: "//*-unittest"
303
310
  myAppDeps: "myApp/*"
304
311
 
305
- Given the definitions above the following substations will be performed:
312
+ Given the definitions above the following substitutions will be performed:
306
313
 
307
314
  ======================= ===========================
308
315
  Query Substituted query
@@ -115,8 +115,11 @@ Basic information
115
115
  ``env``
116
116
  Dump of the bash environment as created by ``declare -p``. See
117
117
  `bash declare`_. For PowerShell recipes it is a JSON string that contains
118
- all internal variables and environment variables as dictionaries. Use
119
- the ``meta.language`` key to determine the used scripting language.
118
+ all internal variables and environment variables as dictionaries. For
119
+ Python recipes it is the ``repr()`` of a dictionary with the ``env`` and
120
+ ``globals`` keys holding the environment variables and global variables
121
+ respectively. Use the ``meta.language`` key to determine the used scripting
122
+ language.
120
123
 
121
124
  ``metaEnv``
122
125
  This is a dictionary of all :ref:`configuration-recipes-metaenv` variables
@@ -234,9 +237,9 @@ under the ``meta`` key and typically hold at least the following information:
234
237
  Bob version string.
235
238
 
236
239
  ``language``
237
- The scripting language that was used to create the artifact. Can be ``bash``
238
- or ``PowerShell``. If missing it must be interpreted as ``bash``. Use this to
239
- correctly parse the ``env`` string.
240
+ The scripting language that was used to create the artifact. Can be ``bash``,
241
+ ``PowerShell`` or ``python``. If missing it must be interpreted as ``bash``.
242
+ Use this to correctly parse the ``env`` string.
240
243
 
241
244
  ``package``
242
245
  Package path of the artifact that was built. Note that there might be
@@ -27,8 +27,9 @@ with downstream and upstream recipes:
27
27
  There are four kinds of objects that are exchanged between recipes: results,
28
28
  dependencies, environment variables and tools. Results (shown as black arrows)
29
29
  are always propagated downstream. These are the actual build artifacts that are
30
- created. Dependencies (upstream recipes) may be propagated downstream which is
31
- not shown in the picture. Environment variables are key-value-pairs of
30
+ created. Dependencies (upstream recipes) may be provided to downstream recipes
31
+ where they become injected dependencies. This is not shown in the picture.
32
+ Environment variables are key-value-pairs of
32
33
  strings. They are passed as shell variables to the individual build steps.
33
34
  Tools are scripts or executables that are needed to produce the build result,
34
35
  e.g. compilers, image generators or post processing scripts. Consuming recipes