Version 0.24.0 Release¶
This release primarily refactors and improves the cloe-launch tool,
with one major breaking change.
In addition, it includes the new frustum_culling plugin.
The following sections are about the changes to the launcher, starting with the breaking change and how to migrate.
Remove launcher profiles and change Conan argument pass-thru¶
For a while, cloe-launch has supported launcher profiles, which were Conan
recipes (e.g. conanfile.txt) that were installed to a launcher profiles
directory and managed by cloe-launch. You could then refer to these from
anywhere with -p PROFILE_NAME argument.
In practice however, the cloe-launch profile system was under-used,
confusing, and limited. To name just a few issues:
Profile names needed to end with
.pyif they were Python recipes.Python recipes often could not be used at all because they referred to local files.
Passing arguments to Conan was limited and verbose.
Different commands supported profiles differently, leading to an un-orthogonal interface.
Handling
-por-P, one of which was required, led to complex code and error messages, confusing users.Launcher “profiles” uses the same word as Conan “profiles”, but mean two very different things.
This release radically simplifies the launcher interface by doing away with the launcher profile system and opting for a clearer, leaner, and more flexible interface to boot.
This is a significant breaking change, because it fundamentally changes how
cloe-launch parses arguments. They now have the form:
cloe-launch [OPTS] COMMAND [CMD_OPTS] CONANFILE [CONAN_INSTALL_ARGS] [-- ARGS]
For commands such as shell and exec it’s now necessary to use --
to pass arguments to them. It is also no longer possible to provide
options to the cloe-launch command after specifying the conanfile.
These now go to conan.
Migration:
Find use of profiles by searching for instances of cloe-launch and -P and -p.
Make sure you pass existing Conan recipes to cloe-launch as a positional
argument, and that all arguments to cloe-launch have been specified before
the recipe is specified.
If you used -p with the launcher profiles before, you will need to find a new
solution, such as by using symlinks or copies of recipes, or creating aliases
for your favorite configurations.
Previously, Conan arguments needed to be passed as arguments to cloe-launch arguments, such as:
cloe-launch shell -P conanfile.py -o:o cloe-engine:with_server=False
cloe-launch shell -o --build=missing -o -o=cloe-engine:with_server=False -P conanfile.py
Now, these are provided as Conan arguments simply after the Conan file:
cloe-launch shell conanfile.py --build=missing -o cloe-engine:with_server=False
When using cloe-launch exec, you can specify the arguments to cloe-engine
after a mandatory -- argument:
cloe-launch exec conanfile.py -- -l debug run test.json
To migrate your own use, search for cloe-launch and -o or -o:o or -o:s and
replace these with the updated form.
Add config sub-command¶
This command lets you view the launcher configuration:
cloe-launch config
As well as edit it:
cloe-launch config --edit
If the configuration has not been created yet, it is recommended to create it first from the default configuration:
cloe-launch config --write --edit
Add deploy sub-command¶
This allows you to deploy a configuration to a directory:
cloe-launch -v deploy -P engine/tests/conanfile_with_server.py /usr/local
This deployment should work without any further setup required.
The patchelf tool needs to be installed for RPATH adjustment to work.
An uninstaller is created at ~/.cache/cloe/launcher/UUID/uinstall.sh where UUID is unique and determined from the configuration.
Add --ignore-plugin-setups option¶
This options lets you prevent Python configuration files from being loaded
from the directories specified in CLOE_PLUGIN_PATH.
This is especially useful if you have added . to CLOE_PLUGIN_PATH.
Improve error messages¶
Conan error output can be hard to parse. There are several common errors that are now “caught” by the launcher and re-formatted in a way that it’s clearer to users what the error is and what they can do about it.
Further launcher fixes¶
Unpin
clickandtomlversions.Fix
cloe-launch preparenot showing output.Prevent
.from in-advertently being added toCLOE_PLUGIN_PATH.Show conan command being executed in verbose mode.