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

Update to Smallrye OpenAPI 3.1.1 and add Jandex 3 #23686

Merged
merged 8 commits into from
Jan 23, 2023

Conversation

Azquelt
Copy link
Member

@Azquelt Azquelt commented Dec 14, 2022

Additionally the 3.1 spec API artifact is now on maven central so we can reference it there.

SmallRye OpenAPI 3.1.1 depends on Jandex 3, so we also need to add that. Jandex 3 has breaking changes compared to Jandex 2 so Jandex 2 also needs to remain to support older features which use it. I have created a private feature for Jandex 3 since I anticipate that other features will also depend on it.

For the moment, there's one class which is overlaid, I have raised an issue which would allow us to remove that here: smallrye/smallrye-open-api#1333

Fixes #23687

@LibbyBot
Copy link

Joe's DHE check:

✔️ I found your oss_ibm.maven GAV artifacts on DHE. Thank you! ✔️

@Azquelt
Copy link
Member Author

Azquelt commented Dec 14, 2022

#build

@LibbyBot
Copy link

Please code review feature-related files, @OpenLiberty/delivery-approvers

@LibbyBot
Copy link

Your personal build request is at https://wasrtc.hursley.ibm.com:9443/jazz/resource/itemOid/com.ibm.team.build.BuildResult/_7AYgUHvNEe2gZbZD5Lij6g

Target locations of links might be accessible only to IBM employees.

@Azquelt Azquelt force-pushed the smallrye-open-api-311 branch 2 times, most recently from afd9cb2 to 1d177d7 Compare January 10, 2023 14:30
@Azquelt
Copy link
Member Author

Azquelt commented Jan 10, 2023

#build
#libby
#spawn.fullfat.buckets=com.ibm.ws.microprofile.openapi_fat,io.openliberty.microprofile.openapi.2.0.internal_fat,io.openliberty.microprofile.openapi.3.0.internal_fat_tck,io.openliberty.microprofile.openapi.3.1.internal_fat_tck

@LibbyBot
Copy link

Please code review feature-related files, @OpenLiberty/delivery-approvers

@LibbyBot
Copy link

Your personal build request is at https://wasrtc.hursley.ibm.com:9443/jazz/resource/itemOid/com.ibm.team.build.BuildResult/_aeJEkJD_Ee2FQJgc_COkyw

Target locations of links might be accessible only to IBM employees.

@LibbyBot
Copy link

Joe's DHE check:

✔️ I found your oss_ibm.maven GAV artifacts on DHE. Thank you! ✔️

@Azquelt Azquelt force-pushed the smallrye-open-api-311 branch from 1d177d7 to c6c280f Compare January 11, 2023 14:28
@Azquelt
Copy link
Member Author

Azquelt commented Jan 11, 2023

#build
#libby
#spawn.fullfat.buckets=com.ibm.ws.microprofile.openapi_fat,io.openliberty.microprofile.openapi.2.0.internal_fat,io.openliberty.microprofile.openapi.3.0.internal_fat_tck,io.openliberty.microprofile.openapi.3.1.internal_fat_tck

@LibbyBot
Copy link

Please code review feature-related files, @OpenLiberty/delivery-approvers

@LibbyBot
Copy link

Your personal build request is at https://wasrtc.hursley.ibm.com:9443/jazz/resource/itemOid/com.ibm.team.build.BuildResult/_SWm6hpG0Ee2FQJgc_COkyw

Target locations of links might be accessible only to IBM employees.

@LibbyBot
Copy link

Joe's DHE check:

✔️ I found your oss_ibm.maven GAV artifacts on DHE. Thank you! ✔️

@LibbyBot
Copy link

The build Azquelt-23686-20230111-0639
https://wasrtc.hursley.ibm.com:9443/jazz/resource/itemOid/com.ibm.team.build.BuildResult/_SWm6hpG0Ee2FQJgc_COkyw
completed successfully!

@tbitonti tbitonti mentioned this pull request Jan 13, 2023
@Azquelt
Copy link
Member Author

Azquelt commented Jan 13, 2023

During code review, we noticed that although the new bundles are correct, the old smallrye-open-api bundles don't list jandex on their classpath which results in a manifest with no version. This would break if it was used with a feature which included jandex since it would be wired to the wrong bundle.

When rebundling a third-party dependency, it's possible to depend on a package without any reference to it in the bnd file so I think it's necessary for me to search through the built version of all bundle manifests to see if there are any references to jandex packages which don't have a version.

@Azquelt
Copy link
Member Author

Azquelt commented Jan 16, 2023

I did a search of the manifest files of all bundles from a recent release build and found a few that import jandex without version ranges. I've updated the bnd files to include the relevant version of jandex on the build path so that bnd will generate an appropriate version range.

It looks like the Narayana bundle has some other unversioned imports which may need to be fixed in the future but I haven't tried to fix those here.

@idlewis please review b8fc06c
@jim-krueger or @WhiteCat22 please review 16c68a5

@Azquelt
Copy link
Member Author

Azquelt commented Jan 16, 2023

#build
#libby
#spawn.fullfat.buckets=com.ibm.ws.microprofile.openapi_fat,io.openliberty.microprofile.openapi.2.0.internal_fat,io.openliberty.microprofile.openapi.3.0.internal_fat_tck,io.openliberty.microprofile.openapi.3.1.internal_fat_tck

@LibbyBot
Copy link

Please code review feature-related files, @OpenLiberty/delivery-approvers

@LibbyBot
Copy link

Your personal build request is at https://wasrtc.hursley.ibm.com:9443/jazz/resource/itemOid/com.ibm.team.build.BuildResult/_JkuMAJXDEe2YL83b0ePHDw

Target locations of links might be accessible only to IBM employees.

@LibbyBot
Copy link

Joe's DHE check:

✔️ I found your oss_ibm.maven GAV artifacts on DHE. Thank you! ✔️

idlewis
idlewis previously approved these changes Jan 17, 2023
tevans78
tevans78 previously approved these changes Jan 18, 2023
@Azquelt
Copy link
Member Author

Azquelt commented Jan 18, 2023

Previous build has not started so it will include the latest changes.

#libby

@LibbyBot
Copy link

Joe's DHE check:

✔️ I found your oss_ibm.maven GAV artifacts on DHE. Thank you! ✔️

@LibbyBot
Copy link

The build Azquelt-23686-20230118-1159
https://wasrtc.hursley.ibm.com:9443/jazz/resource/itemOid/com.ibm.team.build.BuildResult/_JkuMAJXDEe2YL83b0ePHDw
completed and has errors or failures.

For help analyzing your personal build, go to https://cognitive.hursley.ibm.com/buildAnalysis.html?uuid=_JkuMAJXDEe2YL83b0ePHDw

- Update smallrye-open-api to 3.1.1
- Spec API is now on maven central
For compatibility with smallrye-open-api 3.1.1 which has made updates to
their config which we must serialize for our caching.
The original VersionUtil attempts to read the pom.properties from the
API jar to obtain the version of OpenAPI in use.

Liberty does not package this file because we rebundle the API jar and
generate new maven metadata.
Add Jandex to the build path so that we get version ranges on its
package imports.
Add Jandex to the build path so that we get version ranges on its
package imports.
Add additional projects to the build path so that imports from packages
in those projects get the correct version ranges.

Need to specify a manual range for MP Config as this bundle needs to
work with MP Config 2.0 and 3.0.
@Azquelt
Copy link
Member Author

Azquelt commented Jan 20, 2023

Added a manual version range for org.eclipse.microprofile.config to io.openliberty.io.smallrye.openapi.core to allow it to work with either MP Config 2.0 or 3.0.

@Azquelt
Copy link
Member Author

Azquelt commented Jan 20, 2023

#libby

@Azquelt
Copy link
Member Author

Azquelt commented Jan 20, 2023

#build
#spawn.fullfat.buckets=com.ibm.ws.microprofile.openapi_fat,io.openliberty.microprofile.openapi.2.0.internal_fat,io.openliberty.microprofile.openapi.3.0.internal_fat_tck,io.openliberty.microprofile.openapi.3.1.internal_fat_tck

@LibbyBot
Copy link

Please code review feature-related files, @OpenLiberty/delivery-approvers

@LibbyBot
Copy link

Your personal build request is at https://wasrtc.hursley.ibm.com:9443/jazz/resource/itemOid/com.ibm.team.build.BuildResult/_WtGeoJjQEe2YL83b0ePHDw

Target locations of links might be accessible only to IBM employees.

@LibbyBot
Copy link

Code analysis and actions

DO NOT DELETE THIS COMMENT.
  • 16 product code files were changed.

  • Please describe in a separate comment how you tested your changes.

  • 7 infrastructure code files were changed.

  • 1 FAT files were changed, added, or removed.

  • Check that the build did not break the affected FAT suite(s).

@LibbyBot
Copy link

Joe's DHE check:

✔️ I found your oss_ibm.maven GAV artifacts on DHE. Thank you! ✔️

@LibbyBot
Copy link

Please code review feature-related files, @OpenLiberty/delivery-approvers

@LibbyBot
Copy link

Your personal build request is at https://wasrtc.hursley.ibm.com:9443/jazz/resource/itemOid/com.ibm.team.build.BuildResult/_fqMVcJjQEe2YL83b0ePHDw

Target locations of links might be accessible only to IBM employees.

@LibbyBot
Copy link

The build Azquelt-23686-20230120-0827
https://wasrtc.hursley.ibm.com:9443/jazz/resource/itemOid/com.ibm.team.build.BuildResult/_fqMVcJjQEe2YL83b0ePHDw
completed successfully!

@Azquelt Azquelt merged commit ab6405a into OpenLiberty:integration Jan 23, 2023
@Azquelt Azquelt deleted the smallrye-open-api-311 branch January 23, 2023 11:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Consume latest Smallrye OpenAPI
4 participants