-
Notifications
You must be signed in to change notification settings - Fork 24
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
feat: add table of modules for a libraries-bom version to README #6083
Conversation
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.
Would it make sense to consolidate all of the scripts into just one script, or at least a single entry-point that updates the readme so that it can be easily executed locally without having to think which scripts have to run in what order and with what arguments?
libraries-bom-table-generation/helpers/handwritten_libraries_javadocs_modules.txt
Outdated
Show resolved
Hide resolved
libraries-bom-table-generation/helpers/javaModulesLibraryReferenceLinks.yaml
Outdated
Show resolved
Hide resolved
libraries-bom-table-generation/helpers/javaModulesNamePretty.yaml
Outdated
Show resolved
Hide resolved
libraries-bom-table-generation/helpers/javaModulesProductReferenceLinks.yaml
Outdated
Show resolved
Hide resolved
libraries-bom-table-generation/helpers/javaModulesVersions.yaml
Outdated
Show resolved
Hide resolved
libraries-bom-table-generation/helpers/repos_for_versionstxt.txt
Outdated
Show resolved
Hide resolved
@alicejli Have you tried using the Maven flatten plugin? <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<configuration>
<updatePomFile>true</updatePomFile>
<pomElements>
<dependencyManagement>expand</dependencyManagement>
</pomElements>
</configuration>
</plugin> Then run |
Ah that's very handy! Thanks for showing. That is much simpler. It seems like if I have:
that would be a neat way to create the table. |
@meltsufin I've updated the scripts to use the maven flatten plugin which reduces a lot of the complexity - thanks for the idea! cc @burkedavison as we chatted about this a bit this morning The main challenge that I'm curious to get your thoughts on how to solve is getting the latest/updated client documentation/product reference links. The most ongoing toilsome method (which I don't think would be too toilsome given that we don't generate new client libraries that frequently) would be to do nothing and have it as a documented step as part of new client library generation to manually update the links for the product/client reference in this repo. Do you have any thoughts on the best approach to keeping those links updated? |
Despite updates to This may be a departure from the current direction we've been discussing; but I'd rather see logic that fetches the source of truth, and regenerates the client-library portion of the table from scratch each time rather than in-place updating. In the end, I think the goal should be that this table doesn't need any special handling when adding, removing, or updating client libraries. |
We certainly should not create another manually maintained source of truth for library metadata. However, I don't like getting this information from the |
Cool. We don't currently provide the links to the client/product documentation in the POM, but I can create an issue to do so (with a follow-up issue to update this table with the links from the POM once they exist). I did some testing and I don't believe there's a way to use the maven flatten plugin to get the metadata for the dependencies as well as it only includes the info here: https://maven.apache.org/ref/2.2.1/maven-model/maven.html#class_dependency. So to get the links from the One question before I update this PR - @meltsufin would it be okay to keep the current links? I feel like the table is much more useful with them and even if they get stale/new library links won't exist, I think it's better to have them than not. I can add a footnote to the table saying links may be out of date in the meantime. |
@alicejli Correct, the flatten plugin is not going to give us that metadata from the POMs and we would have to fetch them from Maven Central, which I still think is more robust than the Regarding the links, I assume you're talking about the product links, I'm OK with keeping them temporarily. |
Yep, I agree on the point about getting the metadata from Maven Central. And yes, I'm talking about the links to the product documentation as well as the Cloud RAD client reference info. I will update the PR accordingly and then re-request review. |
Can Cloud RAD links be automatically calculated on the fly? |
Good point. Will auto-generate those. |
Follow up from #6069
Publishing the table of included artifacts for a libraries-bom to the README