-
Notifications
You must be signed in to change notification settings - Fork 20
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
Generate classes by root namespace #45
Generate classes by root namespace #45
Conversation
Co-authored-by: Liudmila Molkova <limolkova@microsoft.com>
Update: A image has been published containing the logic form the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we know that this is the direction other languages are going to take? I like it, my only reservation is to minimize the number of times we change the structure before marking it stable.
We can't say for sure, but this issue contains feedback from a number of language maintainers which is telling:
Didn't here from all maintainers, but there seems to agreement about grouping by namespace amongst maintainers who expressed an opinion. Not related to this comment, but related to this PR: This issue to have separate properties from stability and deprecation, and not remove deprecated attributes will be something we will want to take advantage of. |
Thanks @jack-berg for summarizing the feedback! @trask I only know about two possible directions:
I think there could be something else, but nobody requests for it explicitly and nobody works on supporting it (build-tools changes would be necessary). So at least for today, there is no third way. |
FYI - This PR is broken against latest feature head. You need to merge this: jack-berg#1 |
Update codegen arguments to use new output templating.
@open-telemetry/java-approvers - WDYT? Are there any other questions / concerns about moving forward with this? |
I didn't see any deprecated attributes (yet?), is this expected? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
heads up @brunobat
@jack-berg @trask I'm in doubt how to approach stabilization and wonder if you have some thoughts on it E.g.
Assuming application uses I wonder if we can do a better job if incubating artifact included all attributes - stable and experimental - then experimental-> stable transition would not be breaking. |
Ok, I've pushed a commit to use the latest release of the The result is that we now see deprecated attributes, which addresses @trask comment. However, the deprecated annotations are missing the |
I think that could work. Incubating is then a superset of stable. |
Tried it here - jack-berg#2 |
…eprecated annotation
can you please revert it? It relies on unmerged changes in the build-tools that are unlikely to make it into the next build-tools release. I don't think it's blocking since I assume it should be fine to add a bunch or stable attributes into incubating artifact later on. In the meantime, I really want to get your thoughts on how the perfect stable+unstable solution might look like. Moved to #50 since it's not blocking this PR |
@lmolkova I adjusted it so it only uses build-tools code merged to the feature branch which is published to docker hub |
I'd suggest that we wait on merging this (or at least block on releasing it) until we have final decision on #50, so that we can limit the breaking changes to a single release |
I think we should hold the release until we resolve #50, but we've already merged substantial breaking changes to |
A rebase of #40 on top of #41. @lmolkova it was impractical to do a traditional merge because there were just too many conflicts, so I listed you as a co-author on the commit. Hope that's ok with you.
This PR breaks out classes for each top level namespace in semantic conventions:
{{Namespace}}Attributes.java
{{Namespace}}IncubatingAttributes.java
This omits the automatic metric generation of #40. Figure we can do that in a separate PR to keep changes organized.
Leaving this as a draft because we're waiting open-telemetry/build-tools#243, which is currently only merged to the
feature/codegen-by-namespace
branch, which doesn't have an image published yet. I think open-telemetry/build-tools#256 might be trying to solve that.