Skip to content
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

Stub runner jar is >100MB #1385

Closed
dsyer opened this issue Apr 24, 2020 · 6 comments
Closed

Stub runner jar is >100MB #1385

dsyer opened this issue Apr 24, 2020 · 6 comments

Comments

@dsyer
Copy link
Contributor

dsyer commented Apr 24, 2020

I can't believe every user of the stub runner wants all the features if it's that big. What is it taking up so much space anyway? Maybe we could make it a thin jar or something?

@marcingrzejszczak
Copy link
Contributor

Which stub-runner jar are we talking about? The stub runner boot (the standalone one) or the stub runner dependency?

@dsyer
Copy link
Contributor Author

dsyer commented May 20, 2020

@marcingrzejszczak
Copy link
Contributor

Ok so we're talking about the fat-jar. This is the standalone stub runner application. I'd need to do a full dependency analysis but I don't see anything obvious oob (https://github.com/spring-cloud/spring-cloud-contract/blob/v2.2.2.RELEASE/spring-cloud-contract-stub-runner-boot/pom.xml#L16-L29)

@dsyer
Copy link
Contributor Author

dsyer commented May 20, 2020

Biggest culprits:

$ jar -tvf spring-cloud-contract-stub-runner-boot-2.2.2.RELEASE.jar | sort -n -r | head -20
31700220 Thu Apr 25 11:47:34 BST 2019 BOOT-INF/lib/kotlin-compiler-embeddable-1.3.31.jar
19200535 Mon Mar 02 14:06:52 GMT 2020 BOOT-INF/lib/wiremock-jre8-standalone-2.26.2.jar
7496341 Wed Mar 04 20:24:18 GMT 2020 BOOT-INF/lib/spring-cloud-contract-shade-2.2.2.RELEASE.jar
5925194 Thu Dec 02 16:27:54 GMT 2010 BOOT-INF/lib/icu4j-4.6.jar
5561990 Sat Jan 11 13:19:40 GMT 2020 BOOT-INF/lib/groovy-2.5.9.jar
4543663 Tue Feb 05 15:39:40 GMT 2019 BOOT-INF/lib/bcprov-jdk15on-1.61.jar
4478210 Sun Aug 04 04:44:10 BST 2019 BOOT-INF/lib/assertj-core-3.13.2.jar
3336576 Wed Feb 05 19:33:34 GMT 2020 BOOT-INF/lib/tomcat-embed-core-9.0.31.jar
2768405 Thu Apr 25 11:46:18 BST 2019 BOOT-INF/lib/kotlin-reflect-1.3.31.jar
2766192 Fri Aug 23 20:01:18 BST 2019 BOOT-INF/lib/org.eclipse.jgit-5.4.2.201908231537-r.jar
2327597 Thu Jul 12 20:06:44 BST 2018 BOOT-INF/lib/jna-platform-4.5.2.jar
2310271 Wed Feb 04 17:56:16 GMT 2015 BOOT-INF/lib/ecj-4.4.2.jar
1550415 Fri Dec 13 11:27:50 GMT 2019 BOOT-INF/lib/kotlinx-coroutines-core-1.3.3.jar
1535247 Mon Feb 24 13:41:38 GMT 2020 BOOT-INF/lib/reactor-core-3.3.3.RELEASE.jar
1484022 Thu Jul 12 20:06:12 BST 2018 BOOT-INF/lib/jna-4.5.2.jar
1442526 Tue Feb 25 16:33:56 GMT 2020 BOOT-INF/lib/spring-core-5.2.4.RELEASE.jar
1434423 Tue Feb 25 16:34:36 GMT 2020 BOOT-INF/lib/spring-web-5.2.4.RELEASE.jar
1403755 Sun Jan 05 10:13:54 GMT 2020 BOOT-INF/lib/jackson-databind-2.10.2.jar
1390106 Thu Feb 27 12:19:58 GMT 2020 BOOT-INF/lib/spring-boot-autoconfigure-2.2.5.RELEASE.jar
1281907 Thu Apr 25 11:38:16 BST 2019 BOOT-INF/lib/kotlin-stdlib-1.3.31.jar

@marcingrzejszczak
Copy link
Contributor

Kotlin could be added as an optional dependency but then it won't be able to read in kotlin DSLs. We would have to give the user an option to read kotlin at runtime. So thin jar would be the answer I guess

@marcingrzejszczak marcingrzejszczak added this to the 3.0.0-M4 milestone Aug 7, 2020
@marcingrzejszczak marcingrzejszczak added this to To do in 2020.0.0-M4 via automation Aug 7, 2020
@marcingrzejszczak
Copy link
Contributor

We'll convert stub runner boot to become a thin jar based jar

2020.0.0-M4 automation moved this from To do to Done Aug 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
2020.0.0-M4
  
Done
Development

No branches or pull requests

4 participants