Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ensure BC of API, compat with roave/you-are-using-it-wrong, completeness of composer.json #2140

Conversation

Ocramius
Copy link
Contributor

No description provided.

@Ocramius
Copy link
Contributor Author

Btw, do you already have github actions enabled for this repo? They are quite a lot faster 👍


git clone git@github.com:roave/you-are-using-it-wrong.git
cd you-are-using-it-wrong
composer install
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to run on a PHP 7.2+ circle-ci instance, so it fails:

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - This package requires php ^7.3.0 but your PHP version (7.2.22) does not satisfy that requirement.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feel free to bump the version it runs on!

.travis.yml Outdated
php: 7.3
env: DEPS="high"
script:
- composer require --dev roave/backward-compatibility-check:^4.0.0
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Won't work due to conflicting deps: will try making a new dir and installing it there

./composer.json has been updated

Loading composer repositories with package information

Updating dependencies (including require-dev)

Your requirements could not be resolved to an installable set of packages.

  Problem 1

    - Installation request for roave/backward-compatibility-check ^4.0.0 -> satisfiable by roave/backward-compatibility-check[4.0.0].

    - Can only install one of: phpdocumentor/type-resolver[1.0.1, 0.4.0].

    - Can only install one of: phpdocumentor/type-resolver[0.4.0, 1.0.1].

    - Can only install one of: phpdocumentor/type-resolver[0.4.0, 1.0.1].

    - Conclusion: install phpdocumentor/type-resolver 0.4.0

    - Installation request for phpdocumentor/type-resolver (locked at 1.0.1) -> satisfiable by phpdocumentor/type-resolver[1.0.1].

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, this should just be on circleci I think

@muglug
Copy link
Collaborator

muglug commented Jan 1, 2020

Thanks!

@Ocramius
Copy link
Contributor Author

Ocramius commented Jan 1, 2020

@muglug is it OK even though it is red?

@muglug
Copy link
Collaborator

muglug commented Jan 1, 2020

If it's red now I'll figure out how to make it green in time for release!

Also Psalm now picks up two errors:

ERROR: UndefinedDocblockClass - tests/ProxyManagerBench/LazyLoadingValueHolderPropertyAccessBench.php:203:22 - Docblock-defined class or interface ProxyManagerBench\RealObjectType does not exist
     * @psalm-return RealObjectType&ValueHolderInterface<RealObjectType>&VirtualProxyInterface


ERROR: MixedMethodCall - tests/ProxyManagerTest/Functional/MultipleProxyGenerationTest.php:89:49 - Cannot call constructor on an unknown class
            self::assertInstanceOf($proxyClass, new $proxyClass(), 'Proxy can be instantiated via normal constructor');

@Ocramius
Copy link
Contributor Author

Ocramius commented Jan 1, 2020

ERROR: UndefinedDocblockClass - tests/ProxyManagerBench/LazyLoadingValueHolderPropertyAccessBench.php:203:22 - Docblock-defined class or interface ProxyManagerBench\RealObjectType does not exist
     * @psalm-return RealObjectType&ValueHolderInterface<RealObjectType>&VirtualProxyInterface

RealObjectType should be the templated type

ERROR: MixedMethodCall - tests/ProxyManagerTest/Functional/MultipleProxyGenerationTest.php:89:49 - Cannot call constructor on an unknown class
            self::assertInstanceOf($proxyClass, new $proxyClass(), 'Proxy can be instantiated via normal constructor');

This is possibly a new inspection, right?

@muglug
Copy link
Collaborator

muglug commented Jan 1, 2020

No – it's one that should have run before, but wasn't, due to a bug

@Ocramius
Copy link
Contributor Author

Ocramius commented Jan 1, 2020

I'm fine with suppressing or working around that one, since the set of known classes is known to maintainers: will do so in the downstream project. It does indeed make sense to prevent new $unknown :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants