Skip to content

Can't test JSON::Class #39

@coke

Description

@coke

Discovered while trying to figure out why Red was always failing in Blin runs.

Red depends on (eventually) jonathanstowe's version of the module by specifying a high version number

                    JSON::Class:ver<0.0.14+>
                    JSON::Class:ver<0.0.20+>

But zef info JSON::Class finds this module under vrurg that is a lower version number (because of the API, maybe?)

- Info for: JSON::Class
- Identity: JSON::Class:ver<0.0.6>:auth<zef:vrurg>:api<1.0.5>
- Recommended By: Zef::Repository::Ecosystems<fez>
- Installed: Yes, as JSON::Class:ver<0.0.21>:auth<zef:jonathanstowe>:api<1.0>

Note that zef recommends vrurg's version, but knows I have jonathanstowes version installed

Seems that blin knows it needs to test the higher numbered version, which does not depend on Test::Async based on the dependency hierarchy. But when it goes to test JSON::Class, it uses zef info information to pull vrurg's version, which does depend on Test::Async - it didn't realize this putting together the dependency tree, and therefore didn't install Test::Async the test of vrurg's version fails, and so by the time we get anything that depends on JSON::Class (e.g. License::SPDX), there is no version available, and downstream packages die with a compiler failure.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions