pull upstream - #1
Merged
Merged
Conversation
This repository doesn't currently generate or validate the API documentation generated by Sphinx, but I found that there were problems doing so when manually attempted. We may consider adding API documentation generation in the future, but I found it useful to fix the problems we're carrying today.
Previously, we checked if the leading or trailing character was a colon and then used a wildcard to remove it. It is simpler to just remove a leading or trailing colon. This has the added benefit of only using shell built-in functions. Co-authored-by: Rob Woolley <rob.woolley@windriver.com>
Because this is a template, it isn't automatically checked by our linters. This change cleans up a handful of violations and should not result in any change in behavior.
This dependency ensures that the installed state of a package is exposed to the test operation for that package. Dependency enumerations are currently compatible with bare strings, but use of a DependencyDescriptor instance is preferred.
At present, the package name and the job identifier hold the same value throughout the colcon codebase, which is why this should result in no difference in behavior today. Later in this file, we're already using the job identifier when emitting JobSkipped events.
The existing tests exercise much of the code for implementing colcon's shell subsystem, but don't validate the results. If the platform supports the shell, we should check that the code for appending and prepending paths to lists function as intended.
To date, all dependencies throughout the colcon codebase are always identified by package name, which aligns with the fact that all job identifiers are also package names. To support scenarios where there are jobs which aren't identified by package names, we'll also need to specify dependencies which aren't package names. To eventually support this scenario, all primary shells (which implement command_prefix templates) should make a similar change to support the new attribute on the DependencyDescriptor class. Note that at present, dependencies may also be bare strings, though DependencyDescriptor instances are preferred.
This non-breaking API change to the TaskExtension plugin allows tasks to control the creation of TaskContext instances, which are then used to create Job instances for execution. In particular this allows tasks to schedule any number of jobs, where they currently always schedule one.
This is a simple compatibility fix for Python versions prior to 3.8, where `patch.dict()` did not return the patched instance of the object. Since it has just been patched, we can refer to it directly.
It seems that older linter versions complain about this import, and newer linters don't mind the suppression.
This package was previously using three different temporary directory allocation strategies: - Manual `TemporaryDirectory` management - pytest `tmpdir` fixture - pytest `tmp_path` fixture This commit changes all temporary directory allocation in tests to use the `tmp_path` fixture, and includes a compatibility definition of that fixture so that the tests will continue to work properly on RHEL 8.
The latest releases of setuptools drop support for the `--editable` option to the `develop` verb, which colcon relies on when performing a `--symlink-install`. While colcon declares incompatibility with newer setuptools versions, it's certainly possible to end up in a situation where colcon is used with newer setuptools versions. When that happens, we should behave similarly to how colcon handles versions of setuptools which are too old to support `--symlink-install` and fall back to a full install.
Ubuntu Resolute (26.04) is the next LTS release of Ubuntu.
In order for colcon to consume wheels produced by PEP 517 build backends, we'll need to explicitly uninstall existing Python packages from the install space. This primarily stems from the differences in metadata representation, where the previous setuptools-only Python build mechanisms wrote `.egg-link` and `.egg-info` metadata, and wheels will use `.dist-info` metadata. There should be only one metadata representation in the install space for a given package. The legacy setuptools build logic already has a special case for dealing with a switch from `.egg-info` to `.egg-link` and vice-versa. As we toss `.dist-info` into the mix, the need arises for a more robust solution. This new functionality is not currently used by colcon, but will be used as part of the transition to standards-based Python build support.
This implementation is copied nearly verbatim from the prototype colcon_python_project package.
It looks like Python 3.15 is adding some additional checks on entry point values, and the hyphen character in `eC-prime` makes it invalid. Just convert it to an underscore instead.
Welcome to Codecov 🎉Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests. Thanks for integrating Codecov - We've got you covered ☂️ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.