Bob 1.1 Release Notes
Changes made since Bob 1.0 include the following.
New features
Recipes
Bob gained the ability to express dependencies between tools.
A tool declared by provideTools can specify additional tool dependencies via
dependTools
and/ordependToolsWeak
. If a recipe uses the declared tool, all specified dependencies will be added implicitly to the used tool list.See #639.
The shared attribute was upgraded to a full boolean property.
Previously, the
shared
attribute could just be set statically toTrue
. Now it is possible to use a boolean expression to control the sharing based on the recipe input.See #640.
Package steps can now optionally get access to all dependencies.
So far, dependencies named in the “depends” section were only available during the build step. Sometimes recipes only need to gather results from other packages. For this case, it is nice to have the dependencies available in the package step too. The packageDepends boolean attribute optionally enables access to all dependencies in the package step.
Bob ls-recipes
Bob gained a new command: bob-ls-recipes. It can be used to list all known recipes. In contrast to the bob-ls command, which works on packages, this command works on recipes. Additionally, the ouput can be filtered to show only used recipes or recipes that are currently orphaned, i.e., not referenced by a root package.
See #649.
Improvements
Bob has been made more resilient with respect to binary artifact corruptions.
Any downloaded artifact is checked for its integrity. Specifically, the checksum of the extracted files is compared to the audit trail. This should detect any accidental corruptions. See #636 and #637.
Bob now prints the full file name of files where the YAML parsing has failed. (#641, #642).
The
$(resubst)
regular expression string substitution function has been added. (#643)Bob bob-query-recipe learned to handle generic package path queries. It is now possible to find the source files of multiple packages at once. (#648)
Bug fixes
DNS resolution failures are not treated as error any more when downloading artifacts. (#638)
A crash in
bob.input.Package.isAlias()
has been fixed.Fixed repeated invocation of deterministic URL SCMs with gz/xz compressed files that are uncompressed by Bob. Previously, the file would be truncated if the checkout step got re-executed for whatever reason. (#650)