This repository was archived by the owner on Feb 25, 2025. It is now read-only.
Define embedding dependencies in Gradle #17116
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I found that it's very hard to update the embedding dependencies. The current approach requires to manually find the transitive dependencies as well as extracting jar from AARs since gn/javac doesn't support AARs like Gradle.
I'm proposing to change that approach to defining the dependencies in Gradle itself, then configure a Gradle task that downloads each of the artifacts (including transitive ones) and finally extracts jars from AARs so they can be used in gn.
We currently have a cipd package used exclusively for testing. Instead, we will have a single package that has all the JARs required to compile and test the embedding.
I'm also looking into generating the embedding POM file from these dependencies as well.