-
-
Notifications
You must be signed in to change notification settings - Fork 26
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
Add API support for Semeru "Editions" #187
Comments
@johnoliver looking for feedback please. I have started down the path of copying from the heap_size code. I assume I'll need to add some metadata to the build json too. |
To be clear here, I assume what you are asking is that we add support for this usecase in our api so that you can take advantage of it, but not that the Adoptium(or adoptopenjdk) API actually distribute these commercial binaries? So thinking forward to how we can allow for more freedom for others to extend our API and add additional fields easily. The complexity here is to add a new field we need to:
RE issue 1.. To some extent is already supported as we allow in the build logic to switch between models, this is how we have a different implementation of Vendor between adoptopenjdk and adoptium. RE issue 3..I am not 100% how I would do it right now, this is a bit more complex as the current logic (at https://github.com/adoptium/api.adoptium.net/blob/main/adoptopenjdk-frontend-parent/adoptopenjdk-api-v3-frontend/src/main/kotlin/net/adoptopenjdk/api/v3/filters/BinaryFilter.kt#L41) does rely on knowing what fields are required up front, however I believe there could be some way around this, possibly using something like RE issue 2...This is actually the difficult one, we have a fair few endpoints and adding a mechanism to allow you to add arbitrary parameters to them would not be easy. Thoughts here would be, you could have a total free form map of values i.e something like "tags" that you could add. I.e:
The tag route would allow you total freedom to add anything you like. However the main drawback is it would be almost totally undocumented when looking at the swagger-ui/openapi and you would have to manually document in your openapi what tags are available. A possibility is we type the tags i.e |
Another possibility we thought of was to add 2 vendors. edit:
Correct. |
Since this was closed (which is fine), I'll provide an update on what we did with the Semeru API. We ended up implementing using the multiple vendor method I mentioned in my last comment. Users can continue to use the same queries as they were before and simply update the vendor to |
@AdamBrousseau Could you please provide an API for this? I checked https://api.adoptium.net/q/swagger-ui/#/Assets/getLatestAssets but there's only |
@tushev the IBM Semeru Runtimes API is hosted at https://ibm.com/semeru-runtimes/api/v3 |
Hi, is it live/public? Where I could actually fetch versions info and their download urls? It redirects to https://developer.ibm.com/languages/java/semeru-runtimes/api/v3 and never responses. |
Ah, it's all described here :) |
Is your feature request related to a problem? Please describe.
IBM Has released 2 versions of the Semeru Runtimes, Open Edition and Certified Edition. Open Edition is released under the standard GPL v2 +CE License and Certified Edition is released under IBM Commercial License. We would like to have both versions be available via the API.
Describe the solution you'd like
My initial thought is to add a "filter" or parameter similar to heap_size called
edition
. Initially it would likely have 3 values,default
for all non-Semeru builds,open
andcertified
. This parameter could likely be reused in the future if needed by another variant or vendor.Describe alternatives you've considered
I also thought about using
license
filter since the 2 editions are released under different licenses, but I think I like edition more.Additional context
https://developer.ibm.com/languages/java/semeru-runtimes/downloads?license=GPL
https://developer.ibm.com/languages/java/semeru-runtimes/downloads?license=IBM
The text was updated successfully, but these errors were encountered: