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.
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/.github/workflows/workflow.yaml +9 -4
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/PKG-INFO +1 -1
- bobbuildtool-1.3.0/contrib/plugins/command.py +25 -0
- bobbuildtool-1.3.0/doc/glossary.rst +72 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-clean.rst +19 -3
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-ls-recipes.rst +1 -1
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-ls.rst +17 -14
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-status.rst +19 -9
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bobpaths.rst +23 -16
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manual/audit-trail.rst +8 -5
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manual/concepts.rst +3 -2
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manual/configuration.rst +350 -70
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manual/extending.rst +65 -0
- bobbuildtool-1.3.0/doc/releases/1.3.rst +191 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/index.rst +1 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/tutorial/compile.rst +11 -1
- bobbuildtool-1.3.0/doc/tutorial/create.rst +370 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/tutorial/index.rst +2 -0
- bobbuildtool-1.3.0/doc/tutorial/provide-interpreter.rst +372 -0
- bobbuildtool-1.3.0/doc/tutorial/virtual-packages.rst +245 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/BobBuildTool.egg-info/PKG-INFO +1 -1
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/BobBuildTool.egg-info/SOURCES.txt +6 -0
- bobbuildtool-1.3.0/pym/BobBuildTool.egg-info/scm_file_list.json +726 -0
- bobbuildtool-1.3.0/pym/BobBuildTool.egg-info/scm_version.json +8 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/archive.py +272 -81
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/builder.py +12 -1
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/archive.py +21 -30
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/build/build.py +13 -3
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/build/clean.py +2 -10
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/build/query.py +3 -18
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/build/status.py +3 -11
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/graph.py +2 -16
- bobbuildtool-1.3.0/pym/bob/cmds/help.py +73 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/helpers.py +18 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/invoke.py +18 -1
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/jenkins/intermediate.py +18 -1
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/jenkins/jenkins.py +13 -3
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/misc.py +8 -79
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/show.py +2 -16
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/develop/version.py +1 -1
- bobbuildtool-1.3.0/pym/bob/errors.py +138 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/input.py +585 -233
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/intermediate.py +49 -1
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/invoker.py +146 -94
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/languages.py +249 -71
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/pathspec.py +88 -61
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/scm/__init__.py +3 -1
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/scm/scm.py +35 -20
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/scm/svn.py +53 -2
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/scripts.py +35 -10
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/stringparser.py +201 -107
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/tty.py +283 -182
- bobbuildtool-1.3.0/pym/bob/version.py +24 -0
- bobbuildtool-1.3.0/pym/bob/webdav.py +294 -0
- bobbuildtool-1.3.0/pyproject.toml +7 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/setup.py +0 -10
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/src/namespace-sandbox/namespace-sandbox.c +4 -1
- bobbuildtool-1.2.0/doc/glossary.rst +0 -38
- bobbuildtool-1.2.0/doc/tutorial/create.rst +0 -6
- bobbuildtool-1.2.0/pym/bob/cmds/help.py +0 -45
- bobbuildtool-1.2.0/pym/bob/errors.py +0 -69
- bobbuildtool-1.2.0/pym/bob/version.py +0 -34
- bobbuildtool-1.2.0/pym/bob/webdav.py +0 -253
- bobbuildtool-1.2.0/pyproject.toml +0 -3
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/.gitattributes +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/.gitignore +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/.readthedocs.yaml +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/LICENSE +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/MANIFEST.in +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/README.md +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/bob +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/bob.cmd +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/contrib/bash-completion/bob +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/contrib/cleanup-recipes.awk +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/contrib/create-release.sh +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/contrib/docker/Dockerfile +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/contrib/docker/install-packages.sh +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/contrib/notify.sh +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/contrib/plugins/jenkins-cobertura.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/contrib/plugins/override.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/contrib/plugins/path-fmt.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/contrib/sandbox.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/BOB_Logo.png +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/BOB_Logo.svg +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/Makefile +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/_build/.gitignore +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/_static/.gitkeep +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/_static/css/custom.css +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/_static/d3.v4.min.js +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/_static/sandbox.html +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/_templates/.gitkeep +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/cheatsheet/bob_cheatsheet.pdf +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/cheatsheet/bob_cheatsheet.tex +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/conf.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/images/jenkins.odg +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/images/jenkins.png +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/images/overview.odg +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/images/overview.png +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/images/recipe-flow.odg +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/images/recipe-flow.png +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/images/sandbox_graph.png +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/images/variant-management.odg +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/images/variant-management.png +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/index.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/installation.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-archive.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-build-dev.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-build.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-dev.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-graph.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-init.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-jenkins.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-layers.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-project.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-query-meta.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-query-path.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-query-recipe.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-query-scm.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob-show.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/bob.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/index.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manpages/std-opt-cfg.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manual/index.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manual/introduction.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/manual/policies.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.13.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.14.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.15.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.16.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.17.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.18.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.19.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.20.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.21.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.22.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.23.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.24.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/0.25.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/1.0.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/1.1.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/releases/1.2.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/requirements.txt +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/tutorial/archive.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/tutorial/fingerprints.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/doc/tutorial/jenkins.rst +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/BobBuildTool.egg-info/dependency_links.txt +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/BobBuildTool.egg-info/entry_points.txt +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/BobBuildTool.egg-info/not-zip-safe +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/BobBuildTool.egg-info/requires.txt +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/BobBuildTool.egg-info/top_level.txt +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/__init__.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/audit.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/__init__.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/build/__init__.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/build/project.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/build/state.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/jenkins/__init__.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/jenkins/exec.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/cmds/layers.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/develop/__init__.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/develop/make.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/generators/EclipseCdtGenerator.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/generators/QtCreatorGenerator.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/generators/VisualStudio.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/generators/VisualStudioCode.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/generators/__init__.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/generators/common.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/layers.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/scm/cvs.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/scm/git.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/scm/imp.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/scm/url.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/share.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/state.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/pym/bob/utils.py +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/setup.cfg +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/src/namespace-sandbox/network-tools.c +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/src/namespace-sandbox/network-tools.h +0 -0
- {bobbuildtool-1.2.0 → bobbuildtool-1.3.0}/src/namespace-sandbox/process-tools.c +0 -0
- {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
|
|
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
|
|
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
|
|
@@ -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
|
-
[-
|
|
20
|
-
[
|
|
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
|
|
@@ -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
|
|
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
|
|
34
|
-
``-a`` the
|
|
35
|
-
:ref:`provideDeps
|
|
36
|
-
|
|
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.
|
|
41
|
-
|
|
42
|
-
|
|
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
|
|
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
|
|
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
|
|
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] [-
|
|
19
|
-
[
|
|
20
|
-
|
|
21
|
-
[
|
|
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
|
|
63
|
-
i.e. packages that are named in the ``depends`` section of the
|
|
64
|
-
|
|
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
|
|
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
|
-
* ``
|
|
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
|
|
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
|
|
107
|
-
are licensed as GPLv2 and have a
|
|
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
|
|
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.
|
|
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
|
|
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``
|
|
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
|
|
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
|
|
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.
|
|
119
|
-
the ``
|
|
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 ``
|
|
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
|
|
31
|
-
not shown in the picture.
|
|
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
|