Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

medb
Copy link
Contributor

@medb medb commented May 21, 2020

Fixes an issue when there are 2 versions of this library in a class path - 1) shaded/relocated library of x.x.x version inside a "jar-with-dependencies" and 2) non-shaded library of y.y.y version.

Because both of these libraries will load non-shaded google-http-client.properties file they will use the same y.y.y version even though shaded library has a x.x.x version.

@medb medb requested a review from a team as a code owner May 21, 2020 04:32
@googlebot googlebot added the cla: yes This human has signed the Contributor License Agreement. label May 21, 2020
@chingor13 chingor13 changed the title Make google-http-client.properties file shading friendly fix: make google-http-client.properties file shading friendly Jun 19, 2020
@BenWhitehead
Copy link
Contributor

@medb Can you describe why this change is needed? The properties file should be able to be loaded from an uber-jar or other shaded jar just fine without modification.

I have a local project on my machine I used to execute a few commands against Firestore (which is a downstream consumer of this library). This project is packaged as a "jar-with-dependencies" file. HttpRequest is able to load the properties files successfully as-is.

❱ java -jar target/cleanup-0.1.1-SNAPSHOT-jar-with-dependencies.jar 
HttpRequest.VERSION = 1.34.2

From this code

public static void main(String[] args) {
  System.out.println("HttpRequest.VERSION = " + com.google.api.client.http.HttpRequest.VERSION);
}

@medb
Copy link
Contributor Author

medb commented Jun 20, 2020

@BenWhitehead The issue is that if there are 2 versions of this library in a class path - 1) shaded/relocated library of x.x.x version inside a "jar-with-dependencies" and 2) non-shaded library of y.y.y version.

Because both of these libraries will load non-shaded google-http-client.properties they will use the same y.y.y version even though shaded library has a x.x.x version.

@BenWhitehead
Copy link
Contributor

@chingor13 What are you thoughts here on moving the properties file? We might need to move it for the couple other libraries we introduced this same pattern in.

@chingor13 chingor13 added the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Oct 13, 2020
@kokoro-team kokoro-team removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Oct 13, 2020
@chingor13 chingor13 merged commit 860bb05 into googleapis:master Oct 13, 2020
@medb medb deleted the patch-2 branch October 13, 2020 16:35
gcf-merge-on-green bot pushed a commit that referenced this pull request Oct 13, 2020
ruomengz added a commit to ruomengz/google-api-java-client that referenced this pull request Apr 28, 2023
…operties

- Make it file shading friendly like googleapis/google-http-java-client#1046
- Avoid set proguard config to read this file. b/279795343#comment2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes This human has signed the Contributor License Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants