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

ORM 3.0 Compat #1516

Closed
mbabker opened this issue Oct 11, 2023 · 8 comments
Closed

ORM 3.0 Compat #1516

mbabker opened this issue Oct 11, 2023 · 8 comments

Comments

@mbabker
Copy link
Contributor

mbabker commented Oct 11, 2023

The ORM now has a 3.0 beta release, so compat should be looked at since it's a bit of a bigger release.

I did manage to get it to install with this package after removing the PHPCR-ODM since its dependencies effectively block installing ORM 3.0, and ran the tests.

Test Output
/usr/local/bin/php "/serializer/vendor/phpunit/phpunit/phpunit" --configuration "/serializer/phpunit.xml.dist" --teamcity
Testing started at 10:49 AM ...
PHPUnit 10.5-dev by Sebastian Bergmann and contributors.

Runtime:       PHP 8.2.7
Configuration: /serializer/phpunit.xml.dist


Attribute driver is required.

Attribute driver is required.

Can not define annotation or attribute metadata for internal classes

Short expose syntax not supported on annotations or attribute

Attribute driver is required.

Attribute driver is required.

Can not define annotation or attribute metadata for internal classes

Short expose syntax not supported on annotations or attribute

Error: Class "Doctrine\ORM\Version" not found
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:30


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:138
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:159
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:25
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:41


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:138
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:159
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:25
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:51


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:138
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:159
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:25
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:60


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:138
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:159
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:25
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:75


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:138
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:159
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:25
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:86


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:138
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:159
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:97


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:138
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:159
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:25
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:118


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:138
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:159
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:25
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:124


PHPCR not available

PHPCR not available

PHPCR not available

PHPCR not available

PHPCR not available

Attribute driver is required.

Attribute driver is required.

Attribute driver is required.

Attribute driver is required.

Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Serializer/Doctrine/IntegrationTest.php:138
/serializer/tests/Serializer/Doctrine/IntegrationTest.php:88


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Serializer/Doctrine/IntegrationTest.php:138
/serializer/tests/Serializer/Doctrine/IntegrationTest.php:88


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Serializer/Doctrine/IntegrationTest.php:138
/serializer/tests/Serializer/Doctrine/IntegrationTest.php:88


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485


Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485


Doctrine is not available.

Doctrine is not available.

Doctrine is not available.

Doctrine is not available.

Fixtures are broken

/serializer/tests/Serializer/JsonStrictSerializationTest.php:27


Fixtures are broken

/serializer/tests/Serializer/JsonStrictSerializationTest.php:27


Fixtures are broken

/serializer/tests/Serializer/JsonStrictSerializationTest.php:27


XML can't be tested for empty array

XML can't be tested for list without value type

XML can't be tested for empty list

XML deserialization does not support key-val pairs mode

Doctrine is not available.

Doctrine is not available.

Not supported in XML.

Not caching attributes
Time: 00:01.936, Memory: 66.00 MB

There was 1 PHPUnit test runner deprecation:

1) Your XML configuration validates against a deprecated schema. Migrate your XML configuration using "--migrate-configuration"!

--

There were 29 errors:

1) JMS\Serializer\Tests\Metadata\Driver\DoctrineDriverTest::testMetadataForEmbedded
   Error: Class "Doctrine\ORM\Version" not found

/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:30

2) JMS\Serializer\Tests\Metadata\Driver\DoctrineDriverTest::testTypelessPropertyIsGivenTypeFromDoctrineMetadata
   Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:138
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:159
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:25
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:41

3) JMS\Serializer\Tests\Metadata\Driver\DoctrineDriverTest::testSingleValuedAssociationIsProperlyHinted
   Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:138
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:159
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:25
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:51

4) JMS\Serializer\Tests\Metadata\Driver\DoctrineDriverTest::testMultiValuedAssociationIsProperlyHinted
   Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:138
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:159
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:25
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:60

5) JMS\Serializer\Tests\Metadata\Driver\DoctrineDriverTest::testTypeGuessByDoctrineIsOverwrittenByDelegateDriver
   Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:138
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:159
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:25
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:75

6) JMS\Serializer\Tests\Metadata\Driver\DoctrineDriverTest::testUnknownDoctrineTypeDoesNotResultInAGuess
   Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:138
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:159
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:25
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:86

7) JMS\Serializer\Tests\Metadata\Driver\DoctrineDriverTest::testNonDoctrineEntityClassIsNotModified
   Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:138
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:159
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:97

8) JMS\Serializer\Tests\Metadata\Driver\DoctrineDriverTest::testVirtualPropertiesAreNotModified
   Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:138
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:159
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:25
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:118

9) JMS\Serializer\Tests\Metadata\Driver\DoctrineDriverTest::testGuidPropertyIsGivenStringType
   Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:138
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:159
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:25
/serializer/tests/Metadata/Driver/DoctrineDriverTest.php:124

10) JMS\Serializer\Tests\Serializer\Doctrine\IntegrationTest::testDiscriminatorIsInferredForEntityBaseClass
    Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Serializer/Doctrine/IntegrationTest.php:138
/serializer/tests/Serializer/Doctrine/IntegrationTest.php:88

11) JMS\Serializer\Tests\Serializer\Doctrine\IntegrationTest::testDiscriminatorIsInferredForGenericBaseClass
    Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Serializer/Doctrine/IntegrationTest.php:138
/serializer/tests/Serializer/Doctrine/IntegrationTest.php:88

12) JMS\Serializer\Tests\Serializer\Doctrine\IntegrationTest::testDiscriminatorIsInferredFromDoctrine
    Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Serializer/Doctrine/IntegrationTest.php:138
/serializer/tests/Serializer/Doctrine/IntegrationTest.php:88

13) JMS\Serializer\Tests\Serializer\Doctrine\ObjectConstructorTest::testFindEntity
    Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485

14) JMS\Serializer\Tests\Serializer\Doctrine\ObjectConstructorTest::testFindEntityExcludedByGroupsUsesFallback
    Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485

15) JMS\Serializer\Tests\Serializer\Doctrine\ObjectConstructorTest::testFindEntityExcludedUsesFallback
    Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485

16) JMS\Serializer\Tests\Serializer\Doctrine\ObjectConstructorTest::testFindManagedEntity
    Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485

17) JMS\Serializer\Tests\Serializer\Doctrine\ObjectConstructorTest::testMissingAuthor
    Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485

18) JMS\Serializer\Tests\Serializer\Doctrine\ObjectConstructorTest::testMissingAuthorFallback
    Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485

19) JMS\Serializer\Tests\Serializer\Doctrine\ObjectConstructorTest::testMissingNotManaged
    Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485

20) JMS\Serializer\Tests\Serializer\Doctrine\ObjectConstructorTest::testReference
    Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485

21) JMS\Serializer\Tests\Serializer\Doctrine\ObjectConstructorTest::testMissingAuthorException
    Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485

22) JMS\Serializer\Tests\Serializer\Doctrine\ObjectConstructorTest::testInvalidArg
    Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485

23) JMS\Serializer\Tests\Serializer\Doctrine\ObjectConstructorTest::testMissingData
    Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485

24) JMS\Serializer\Tests\Serializer\Doctrine\ObjectConstructorTest::testNamingForIdentifierColumnIsConsidered
    Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485

25) JMS\Serializer\Tests\Serializer\Doctrine\ObjectConstructorTest::testPersistendCollectionIsNotReplaced with data set #0
    Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485

26) JMS\Serializer\Tests\Serializer\Doctrine\ObjectConstructorTest::testPersistendCollectionIsNotReplaced with data set #1
    Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485

27) JMS\Serializer\Tests\Serializer\Doctrine\ObjectConstructorTest::testFallbackOnEmbeddableClassWithXmlDriver
    Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485

28) JMS\Serializer\Tests\Serializer\Doctrine\ObjectConstructorTest::testFallbackOnEmbeddableClassWithXmlDriverAndXmlData
    Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485

29) JMS\Serializer\Tests\Serializer\Doctrine\ObjectConstructorTest::testArrayKeyExistsOnObject
    Error: Class "Doctrine\ORM\Mapping\Driver\AnnotationDriver" not found

/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:537
/serializer/tests/Serializer/Doctrine/ObjectConstructorTest.php:485

ERRORS!
Tests: 1073, Assertions: 2347, Errors: 29, Deprecations: 1, Skipped: 29, Incomplete: 3.
Process finished with exit code 2

As of this writing, the blockers to running the tests are:

  • The tests using the deprecated annotation driver from the ORM (at this point I'd suggest the tests should probably swap to using the attribute driver on PHP 8 builds and annotation driver on PHP 7 builds since ORM 3 removes annotations support and requires PHP 8.1)
  • The deprecated Doctrine\ORM\Version class is used (at this point that's probably unnecessary, the CI for the lowest deps build on PHP 7.2 is installing ORM 2.14, much higher than the minimum 2.1 suggested in composer.json or 2.5 which the tests using that class check against)
@scyzoryck
Copy link
Collaborator

Thanks for research!
I guess it is a bit blocked by: #1471, right? I got lost a bit in those changes :(
I think after that we would be able to keep support for annotations and doctrine 3.0. But at some point it would be great to drop support to PHP 7.x

@goetas What do you think?

@mbabker
Copy link
Contributor Author

mbabker commented Oct 12, 2023

I guess it is a bit blocked by: #1471, right? I got lost a bit in those changes :(

Nah, that one only affects this package and the Symfony integration as it relates to hard requiring an annotation reader and the serializer's annotation metadata driver to be set up. The test issues are all from the tests themselves using the ORM's deprecated annotation driver.

@scyzoryck
Copy link
Collaborator

It looks like

BC BREAK: Removed EntityManager::create()

will also affect a bit our tests - we use this method in few places.

It looks like ODM will need a lot of time & changes to make it compatible with doctrine/persistence 3.0. So removing it from dependencies for this package seems to be the way to make it work.

Best, Marcin.

@goetas
Copy link
Collaborator

goetas commented Oct 15, 2023

I have no issues with dropping old php versions or package versions

@scyzoryck
Copy link
Collaborator

It looks like there are still some work to do - mainly related to Annotation setup 🤔

https://github.com/schmittjoh/serializer/actions/runs/6686207218/job/18165299334?pr=1523

@mbabker
Copy link
Contributor Author

mbabker commented Oct 30, 2023

It looks like there are still some work to do - mainly related to Annotation setup

Yeah, so building off of #1471 for the next steps is probably the best path forward. With the Annotations library's design around bailing out on unknown annotations (other than ones it knows to ignore in Doctrine\Common\Annotations\ImplicitlyIgnoredAnnotationNames), there's going to be a weird spot while libraries start phasing out annotations support where you either can't mix versions that both support and don't support annotations or the library has to be explicitly configured to avoid the annotation reader being used on versions where annotation support was dropped (so for this library, pretty much anything that runs tests with ORM 3.x installed either shouldn't use an annotation reader or use one that has all classes that were previously annotation classes ignored with the reader's static addGlobalIgnoredName or addGlobalIgnoredNamespace methods (which is also less than optimal because they're basically managing singleton properties for the entire testing process)).

@scyzoryck
Copy link
Collaborator

Thanks for tips. It looks like few lines of codes in tests solved all compatibility issues for now :) So IMO we can still go with Support for annotations as they are 🤔 .

@scyzoryck
Copy link
Collaborator

The related MR has been merged. All tests passes for ORM 3.0 :) I will make release on the beginning of the next week.

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

No branches or pull requests

3 participants