dependency-analysis-gradle-plugin icon indicating copy to clipboard operation
dependency-analysis-gradle-plugin copied to clipboard

Shrink size of outputs on disk

Open Mahoney opened this issue 8 months ago • 16 comments

This is a little thing, but our project's combined build directories are up to 500 MB - of which 450 MB are build/reports/dependency-analysis directories (and 40 MB is the assembled app including libraries). I have a docker build, which returns the build directories to the host system if the build fails, and it seems docker struggles when that directory gets much over 500 MB.

Not sure what if anything can be done about it? I could probably filter them out.

Mahoney avatar Mar 11 '25 19:03 Mahoney

Thanks for the issue. Shrinking the size of these artifacts is something we've thought about. Our of curiosity, could you let me know which subdir(s) are the largest?

autonomousapps avatar Mar 13 '25 18:03 autonomousapps

Attached is the output of tree --du -h on one of the subprojects. There are 26 subprojects, hence it getting up to such a large number.

size.txt

Mahoney avatar Mar 14 '25 19:03 Mahoney

Thank you, that's very helpful!

autonomousapps avatar Mar 14 '25 20:03 autonomousapps

Gzipping just one of the largest single artifacts has reduced the size of that artifact by over 90%, and the size of this plugin's test suite output by around 25%.

autonomousapps avatar Mar 17 '25 22:03 autonomousapps

I haven't checked, but I wonder if there's also a lot of duplication of files in each sub project? Perhaps there could be a single real file in some central directory and symlinks to it in the individual sub project report directories?

Mahoney avatar Mar 17 '25 23:03 Mahoney

I haven't checked, but I wonder if there's also a lot of duplication of files in each sub project? Perhaps there could be a single real file in some central directory and symlinks to it in the individual sub project report directories?

Yes, there is some duplication, but resolving it isn't straightforward. An attempt was made at https://github.com/autonomousapps/dependency-analysis-gradle-plugin/pull/1004, but I didn't have time to pursue it and resolve the errors. I might get back to it eventually. (Edit, note to self: the errors were almost certainly about concurrent access to the same file during writes.)

autonomousapps avatar Mar 18 '25 23:03 autonomousapps

@Mahoney would you be willing to test a snapshot (based on the linked PR) and see what the result is in your environment?

autonomousapps avatar Mar 18 '25 23:03 autonomousapps

v2.13.0 includes a change that compresses the exploded-jars.json file (adding a .gz suffix in addition). Please let me know what the impact of this is when you get a chance, thanks.

autonomousapps avatar Mar 21 '25 16:03 autonomousapps

Apologies, been very busy - I'll try and have a look over the weekend.

Mahoney avatar Mar 21 '25 17:03 Mahoney

Apologies, been very busy - I'll try and have a look over the weekend.

np!

autonomousapps avatar Mar 21 '25 18:03 autonomousapps

It's certainly made a substantial reduction - I reckon the reports have dropped from c. 315MB to c. 184MB. So just over a 40% reduction.

Mahoney avatar Mar 23 '25 12:03 Mahoney

A quick analysis suggests that if the "real" data were stored in some directory under the root project's build directory, and just symlinked into the child project's build/reports/dependency-analysis directory, it would save a further 142 MB - that is, 77% of the disk space used is repetition between the subprojects.

Mahoney avatar Mar 23 '25 12:03 Mahoney

Table showing potential savings

Slightly abridged to remove anything private, but doesn't change the numbers much.

File name File size (b) Repetitions Potential saving (b)
com.google.guava__guava__33.4.0-jre.json 464,371 28 12,538,017
org.jetbrains.kotlin__kotlin-stdlib__2.1.10.json 221,791 56 12,198,505
io.kotest__kotest-assertions-core-jvm__5.9.1.json 370,551 30 10,745,979
org.jetbrains.kotlinx__kotlinx-coroutines-core-jvm__1.10.1.json 206,878 35 7,033,852
com.fasterxml.jackson.core__jackson-databind__2.18.3.json 228,369 30 6,622,701
exploded-jars.json 1,377,980 5 5,511,920
com.datadoghq__datadog-api-client__2.33.1.json 1,642,417 4 4,927,251
org.wiremock__wiremock__3.12.1.json 179,642 28 4,850,334
org.apache.httpcomponents.core5__httpcore5__5.3.3.json 158,074 28 4,267,998
io.kotest__kotest-framework-engine-jvm__5.9.1.json 151,320 28 4,085,640
org.jetbrains.kotlin__kotlin-reflect__2.1.10.json 555,019 8 3,885,133
io.kotest__kotest-framework-api-jvm__5.9.1.json 118,235 33 3,783,520
com.github.jknack__handlebars__4.3.1.json 138,003 28 3,726,081
org.apache.httpcomponents.client5__httpclient5__5.4.2.json 133,486 28 3,604,122
org.eclipse.jetty__jetty-server__11.0.24.json 89,624 28 2,419,848
net.bytebuddy__byte-buddy__1.14.17.json 796,077 4 2,388,231
io.kotest__kotest-assertions-shared-jvm__5.9.1.json 69,618 33 2,227,776
org.checkerframework__checker-qual__3.43.0.json 81,655 28 2,204,685
com.networknt__json-schema-validator__1.5.6.json 72,198 28 1,949,346
org.eclipse.jetty__jetty-util__11.0.24.json 69,770 28 1,883,790
com.fasterxml.jackson.core__jackson-core__2.18.3.json 63,370 30 1,837,730
io.github.classgraph__classgraph__4.8.172.json 61,690 28 1,665,630
org.eclipse.jetty__jetty-client__11.0.24.json 59,400 28 1,603,800
exploded-jars.json 1,379,371 2 1,379,371
commons-io__commons-io__2.11.0.json 49,370 28 1,332,990
org.yaml__snakeyaml__2.3.json 51,688 26 1,292,200
com.jayway.jsonpath__json-path__2.9.0.json 47,352 28 1,278,504
org.http4k__http4k-core__6.0.1.0.json 119,033 10 1,071,297
org.junit.jupiter__junit-jupiter-api__5.8.2.json 37,567 28 1,014,309
org.apache.httpcomponents.core5__httpcore5-h2__5.3.3.json 37,014 28 999,378
org.eclipse.jetty__jetty-http__11.0.24.json 35,483 28 958,041
org.xmlunit__xmlunit-core__2.10.0.json 34,834 28 940,518
org.junit.platform__junit-platform-engine__1.8.2.json 31,239 28 843,453
org.eclipse.jetty.http2__http2-common__11.0.24.json 30,320 28 818,640
org.eclipse.jetty__jetty-io__11.0.24.json 27,870 28 752,490
net.javacrumbs.json-unit__json-unit-core__2.40.1.json 26,790 28 723,330
org.junit.platform__junit-platform-launcher__1.8.2.json 25,521 28 689,067
org.glassfish.jersey.core__jersey-common__3.0.8.json 213,272 4 639,816
exploded-jars.json 211,851 4 635,553
org.jetbrains.kotlinx__kotlinx-coroutines-test-jvm__1.10.1.json 19,529 32 605,399
com.fasterxml.jackson.datatype__jackson-datatype-jsr310__2.18.3.json 21,327 29 597,156
org.xmlunit__xmlunit-legacy__2.10.0.json 22,006 28 594,162
io.kotest__kotest-runner-junit5-jvm__5.9.1.json 20,990 28 566,730
ch.qos.logback__logback-core__1.5.18.json 112,372 6 561,860
com.fasterxml.jackson.core__jackson-annotations__2.18.3.json 19,251 30 558,279
org.hamcrest__hamcrest__2.2.json 20,570 28 555,390
inline-usage.json 34,602 17 553,632
org.eclipse.jetty.toolchain__jetty-jakarta-servlet-api__5.0.2.json 19,603 28 529,281
io.kotest__kotest-common-jvm__5.9.1.json 15,312 33 489,984
org.eclipse.jetty__jetty-servlet__11.0.24.json 17,822 28 481,194
org.eclipse.jetty__jetty-security__11.0.24.json 16,077 28 434,079
org.jetbrains__annotations__23.0.0.json 12,604 35 428,536
org.eclipse.jetty__jetty-webapp__11.0.24.json 15,480 28 417,960
commons-fileupload__commons-fileupload__1.5.json 14,711 28 397,197
com.squareup.okhttp3__okhttp__4.12.0.json 72,706 6 363,530
org.apache.httpcomponents__httpclient__4.5.13.json 112,112 4 336,336
net.sf.jopt-simple__jopt-simple__5.0.4.json 12,081 28 326,187
typealias-usage.json 17,971 18 305,507
org.eclipse.jetty__jetty-servlets__11.0.24.json 10,794 28 291,438
io.kotest__kotest-extensions-jvm__5.9.1.json 10,774 28 290,898
org.eclipse.jetty__jetty-proxy__11.0.24.json 10,635 28 287,145
org.junit.platform__junit-platform-commons__1.8.2.json 10,291 28 277,857
org.javassist__javassist__3.28.0-GA.json 88,627 4 265,881
net.logstash.logback__logstash-logback-encoder__8.0.json 85,661 4 256,983
io.kotest__kotest-framework-discovery-jvm__5.9.1.json 9,198 28 248,346
io.kotest__kotest-assertions-api-jvm__5.9.1.json 7,607 33 243,424
io.projectreactor__reactor-core__3.7.0.json 242,169 2 242,169
inline-usage.json 21,674 12 238,414
io.mockk__mockk-jvm__1.13.17.json 78,043 4 234,129
io.arrow-kt__arrow-core-jvm__2.0.1.json 32,270 8 225,890
io.modelcontextprotocol__kotlin-sdk-jvm__0.3.0.json 112,347 3 224,694
io.ktor__ktor-client-core-jvm__3.0.2.json 106,724 3 213,448
exploded-jars.json 213,242 2 213,242
org.slf4j__slf4j-api__2.0.17.json 12,225 18 207,825
org.slf4j__slf4j-api__2.0.16.json 12,164 17 194,624
io.ktor__ktor-server-core-jvm__3.0.2.json 97,246 3 194,492
com.fasterxml.jackson.dataformat__jackson-dataformat-yaml__2.18.3.json 7,061 28 190,647
io.kotest__kotest-framework-concurrency-jvm__5.9.1.json 7,024 28 189,648
com.ethlo.time__itu__1.10.3.json 6,932 28 187,164
org.eclipse.jetty.http2__http2-server__11.0.24.json 6,908 28 186,516
io.mockk__mockk-dsl-jvm__1.13.17.json 59,404 4 178,212
com.google.errorprone__error_prone_annotations__2.36.0.json 6,503 28 175,581
org.apache.httpcomponents__httpcore__4.4.13.json 57,928 4 173,784
org.http4k__http4k-realtime-core__6.0.1.0.json 24,031 8 168,217
org.yaml__snakeyaml__2.4.json 51,470 4 154,410
com.fasterxml.jackson.module__jackson-module-kotlin__2.18.3.json 30,135 6 150,675
org.jetbrains__annotations__13.0.json 7,458 21 149,160
org.junit.platform__junit-platform-suite-api__1.8.2.json 5,392 28 145,584
org.eclipse.jetty.http2__http2-hpack__11.0.24.json 5,027 28 135,729
com.squareup.okio__okio-jvm__3.6.0.json 25,747 6 128,735
org.glassfish.jersey.core__jersey-client__3.0.8.json 42,114 4 126,342
com.github.ajalt__colormath__1.2.0.json 4,487 28 121,149
org.glassfish.hk2__hk2-api__3.0.3.json 39,993 4 119,979
com.google.j2objc__j2objc-annotations__3.0.0.json 4,277 28 115,479
io.ktor__ktor-http-jvm__3.0.2.json 51,278 3 102,556
com.github.ajalt__mordant__1.2.1.json 3,694 28 99,738
ch.qos.logback__logback-classic__1.5.18.json 47,968 3 95,936
org.eclipse.jetty__jetty-xml__11.0.24.json 3,527 28 95,229
com.github.scribejava__scribejava-core__8.3.1.json 30,899 4 92,697
org.http4k__http4k-format-core__6.0.1.0.json 18,523 6 92,615
io.ktor__ktor-utils-jvm__3.0.2.json 45,372 3 90,744
org.xmlunit__xmlunit-placeholders__2.10.0.json 3,228 28 87,156
jakarta.ws.rs__jakarta.ws.rs-api__3.0.0.json 28,493 4 85,479
com.github.jknack__handlebars-helpers__4.3.1.json 3,076 28 83,052
com.typesafe__config__1.4.3.json 40,749 3 81,498
io.ktor__ktor-io-jvm__3.0.2.json 39,154 3 78,308
com.github.ajalt.mordant__mordant-core-jvm__3.0.1.json 78,098 2 78,098
jakarta.xml.bind__jakarta.xml.bind-api__3.0.1.json 23,248 4 69,744
org.glassfish.hk2__hk2-locator__3.0.3.json 22,281 4 66,843
com.squareup.retrofit2__retrofit__2.9.0.json 21,255 4 63,765
com.github.ajalt.clikt__clikt-core-jvm__5.0.3.json 61,863 2 61,863
net.bytebuddy__byte-buddy-agent__1.14.17.json 19,857 4 59,571
io.ktor__ktor-network-jvm__3.0.2.json 29,155 3 58,310
org.glassfish.hk2__hk2-utils__3.0.3.json 19,038 4 57,114
org.jetbrains.kotlinx__kotlinx-serialization-core-jvm__1.8.0.json 56,723 2 56,723
org.opentest4j__opentest4j__1.2.0.json 2,071 28 55,917
org.http4k__http4k-format-jackson__6.0.1.0.json 17,515 4 52,545
io.ktor__ktor-network-tls-jvm__3.0.2.json 24,607 3 49,214
org.glassfish.jersey.ext__jersey-entity-filtering__3.0.8.json 15,325 4 45,975
com.squareup.okhttp3__okhttp__3.14.9.json 45,863 2 45,863
com.google.code.gson__gson__2.9.1.json 45,317 2 45,317
com.google.code.gson__gson__2.12.1.json 45,304 2 45,304
org.eclipse.jetty__jetty-alpn-java-server__11.0.24.json 1,592 28 42,984
inline-usage.json 42,259 2 42,259
org.eclipse.jetty__jetty-alpn-java-client__11.0.24.json 1,511 28 40,797
com.github.ajalt.colormath__colormath-jvm__3.6.0.json 39,789 2 39,789
io.ktor__ktor-websockets-jvm__3.0.2.json 19,573 3 39,146
service-loaders.json 6,447 7 38,682
artifacts.json 9,625 5 38,500
org.glassfish.jersey.media__jersey-media-json-jackson__3.0.8.json 12,574 4 37,722
typealias-usage.json 3,140 13 37,680
io.mockk__mockk-agent-jvm__1.13.17.json 12,556 4 37,668
org.jetbrains.kotlinx__kotlinx-serialization-json-jvm__1.8.0.json 36,860 2 36,860
org.glassfish.jersey.media__jersey-media-multipart__3.0.8.json 11,848 4 35,544
org.glassfish.jersey.inject__jersey-hk2__3.0.8.json 11,668 4 35,004
org.eclipse.jetty__jetty-alpn-server__11.0.24.json 1,285 28 34,695
inline-usage.json 33,164 2 33,164
org.jetbrains.kotlinx__kotlinx-io-core-jvm__0.5.4.json 16,071 3 32,142
inline-usage.json 31,224 2 31,224
org.eclipse.jetty__jetty-alpn-client__11.0.24.json 1,155 28 31,185
typealias-usage.json 15,316 3 30,632
org.objenesis__objenesis__3.3.json 10,151 4 30,453
inline-usage.json 29,331 2 29,331
io.ktor__ktor-http-cio-jvm__3.0.2.json 14,616 3 29,232
org.apiguardian__apiguardian-api__1.1.2.json 1,079 28 29,133
org.jvnet.mimepull__mimepull__1.9.13.json 9,381 4 28,143
io.mockk__mockk-agent-api-jvm__1.13.17.json 8,836 4 26,508
com.squareup.okio__okio-jvm__3.7.0.json 25,873 2 25,873
inline-usage.json 25,437 2 25,437
com.segment.analytics.java__analytics-core__3.5.1.json 8,418 4 25,254
com.sun.activation__jakarta.activation__2.0.1.json 8,314 4 24,942
com.google.guava__failureaccess__1.0.2.json 913 28 24,651
io.ktor__ktor-server-cio-jvm__3.0.2.json 12,099 3 24,198
io.ktor__ktor-client-cio-jvm__3.0.2.json 11,822 3 23,644
commons-logging__commons-logging__1.2.json 7,787 4 23,361
typealias-usage.json 21,709 2 21,709
com.squareup.moshi__moshi__1.15.2.json 20,747 2 20,747
dev.forkhandles__values4k__2.20.0.0.json 19,169 2 19,169
org.hamcrest__hamcrest-core__2.2.json 692 28 18,684
org.http4k__http4k-client-okhttp__6.0.1.0.json 3,714 6 18,570
io.arrow-kt__arrow-atomic-jvm__2.0.1.json 2,490 8 17,430
org.glassfish.hk2.external__aopalliance-repackaged__3.0.3.json 5,790 4 17,370
org.glassfish.jersey.connectors__jersey-apache-connector__3.0.8.json 5,749 4 17,247
service-loaders.json 1,510 12 16,610
typealias-usage.json 16,444 2 16,444
com.google.guava__listenablefuture__9999.0-empty-to-avoid-conflict-with-guava.json 550 28 14,850
com.fasterxml.jackson.module__jackson-module-jakarta-xmlbind-annotations__2.18.3.json 4,555 4 13,665
org.http4k__http4k-format-moshi__6.0.1.0.json 13,407 2 13,407
io.ktor__ktor-server-websockets-jvm__3.0.2.json 6,663 3 13,326
jakarta.annotation__jakarta.annotation-api__2.1.0.json 4,031 4 12,093
org.openapitools__jackson-databind-nullable__0.2.3.json 3,977 4 11,931
artifacts.json 10,041 2 10,041
service-loaders.json 4,938 3 9,876
org.glassfish.hk2__osgi-resource-locator__1.0.3.json 3,289 4 9,867
io.arrow-kt__arrow-annotations-jvm__2.0.1.json 1,302 8 9,114
typealias-usage.json 4,503 3 9,006
org.jetbrains.kotlinx__kotlinx-coroutines-core__1.10.1.json 263 35 8,942
declarations.json 2,868 4 8,604
org.jetbrains.kotlinx__kotlinx-coroutines-test__1.10.1.json 263 33 8,416
io.ktor__ktor-serialization-jvm__3.0.2.json 4,170 3 8,340
com.squareup.okio__okio__1.17.2.json 8,276 2 8,276
service-loaders.json 7,787 2 7,787
io.kotest__kotest-assertions-shared__5.9.1.json 240 33 7,680
org.http4k__http4k-connect-core__6.0.1.0.json 7,602 2 7,602
io.kotest__kotest-assertions-api__5.9.1.json 234 33 7,488
com.google.auto.value__auto-value-annotations__1.10.1.json 2,485 4 7,455
io.kotest__kotest-framework-api__5.9.1.json 232 33 7,424
io.kotest__kotest-common__5.9.1.json 218 33 6,976
typealias-usage.json 6,878 2 6,878
io.kotest__kotest-assertions-core__5.9.1.json 236 30 6,844
org.jetbrains.kotlinx__kotlinx-io-bytestring-jvm__0.5.4.json 3,414 3 6,828
service-loaders.json 6,741 2 6,741
io.kotest__kotest-framework-concurrency__5.9.1.json 248 28 6,696
io.kotest__kotest-framework-discovery__5.9.1.json 244 28 6,588
org.http4k__http4k-api-jsonrpc__6.0.1.0.json 6,453 2 6,453
io.ktor__ktor-server-sse-jvm__3.0.2.json 3,219 3 6,438
io.kotest__kotest-framework-engine__5.9.1.json 238 28 6,426
com.segment.analytics.java__analytics__3.5.1.json 6,340 2 6,340
io.kotest__kotest-runner-junit5__5.9.1.json 232 28 6,264
io.kotest__kotest-extensions__5.9.1.json 226 28 6,102
bundled-traces.json 419 15 5,866
service-loaders.json 5,717 2 5,717
service-loaders.json 4,938 2 4,938
jakarta.inject__jakarta.inject-api__2.0.1.json 1,608 4 4,824
com.github.ajalt.clikt__clikt-jvm__5.0.3.json 4,410 2 4,410
se.ansman.kotshi__api__3.0.0.json 4,173 2 4,173
com.squareup.retrofit2__retrofit-mock__2.9.0.json 3,793 2 3,793
org.jetbrains.kotlin__kotlin-stdlib-jdk8__2.1.10.json 465 9 3,720
org.jetbrains.kotlin__kotlin-stdlib-jdk7__2.1.10.json 465 9 3,720
dev.forkhandles__result4k__2.20.0.0.json 3,625 2 3,625
dev.forkhandles__time4k__2.20.0.0.json 3,498 2 3,498
bundled-traces.json 1,646 3 3,292
org.reactivestreams__reactive-streams__1.0.4.json 3,170 2 3,170
artifacts.json 1,029 4 3,087
io.ktor__ktor-websocket-serialization-jvm__3.0.2.json 1,531 3 3,062
org.slf4j__jul-to-slf4j__2.0.17.json 1,002 4 3,006
declarations.json 2,985 2 2,985
com.github.scribejava__scribejava-java8__8.3.1.json 995 4 2,985
io.ktor__ktor-events-jvm__3.0.2.json 1,463 3 2,926
io.mockk__mockk-core-jvm__1.13.17.json 928 4 2,784
org.http4k__http4k-platform-core__6.0.1.0.json 2,709 2 2,709
com.squareup.okhttp3__logging-interceptor__4.10.0.json 2,492 2 2,492
io.ktor__ktor-sse-jvm__3.0.2.json 1,124 3 2,248
bundled-traces.json 2,125 2 2,125
com.squareup.moshi__moshi-kotlin__1.15.2.json 2,096 2 2,096
com.squareup.okio__okio__3.6.0.json 397 6 1,985
io.arrow-kt__arrow-annotations__2.0.1.json 230 8 1,610
io.arrow-kt__arrow-atomic__2.0.1.json 220 8 1,540
com.squareup.retrofit2__converter-gson__2.9.0.json 1,532 2 1,532
org.jetbrains.kotlin__kotlin-stdlib-common__2.1.10.json 255 7 1,530
io.arrow-kt__arrow-core__2.0.1.json 216 8 1,512
artifacts.json 1,445 2 1,445
com.segment.backo__backo__1.0.0.json 1,214 2 1,214
io.mockk__mockk-agent-api__1.13.17.json 222 4 666
io.mockk__mockk-agent__1.13.17.json 214 4 642
io.mockk__mockk-core__1.13.17.json 212 4 636
io.mockk__mockk-dsl__1.13.17.json 210 4 630
io.mockk__mockk__1.13.17.json 202 4 606
org.jetbrains.kotlinx__kotlinx-io-bytestring__0.5.4.json 258 3 516
com.github.ajalt.mordant__mordant-jvm__3.0.1.json 509 2 509
org.jetbrains.kotlinx__kotlinx-io-core__0.5.4.json 246 3 492
io.ktor__ktor-websocket-serialization__3.0.2.json 244 3 488
io.modelcontextprotocol__kotlin-sdk__0.3.0.json 240 3 480
io.ktor__ktor-server-websockets__3.0.2.json 232 3 464
io.ktor__ktor-serialization__3.0.2.json 224 3 448
io.ktor__ktor-client-core__3.0.2.json 220 3 440
io.ktor__ktor-network-tls__3.0.2.json 220 3 440
io.ktor__ktor-server-core__3.0.2.json 220 3 440
io.ktor__ktor-client-cio__3.0.2.json 218 3 436
io.ktor__ktor-websockets__3.0.2.json 218 3 436
io.ktor__ktor-server-sse__3.0.2.json 218 3 436
io.ktor__ktor-server-cio__3.0.2.json 218 3 436
io.ktor__ktor-http-cio__3.0.2.json 214 3 428
io.ktor__ktor-network__3.0.2.json 212 3 424
io.ktor__ktor-events__3.0.2.json 210 3 420
io.ktor__ktor-utils__3.0.2.json 208 3 416
io.ktor__ktor-http__3.0.2.json 206 3 412
io.ktor__ktor-sse__3.0.2.json 204 3 408
io.ktor__ktor-io__3.0.2.json 202 3 404
org.jetbrains.kotlinx__kotlinx-serialization-json__1.8.0.json 268 2 268
org.jetbrains.kotlinx__kotlinx-serialization-core__1.8.0.json 268 2 268
com.github.ajalt.mordant__mordant-core__3.0.1.json 246 2 246
com.github.ajalt.colormath__colormath__3.6.0.json 244 2 244
com.github.ajalt.clikt__clikt-core__5.0.3.json 238 2 238
com.github.ajalt.mordant__mordant__3.0.1.json 236 2 236
com.github.ajalt.clikt__clikt__5.0.3.json 228 2 228
com.squareup.okio__okio__3.7.0.json 216 2 216
Total 155,701,662 0 142,061,248

Script I used to generate this table: https://gist.github.com/Mahoney/857eadbef4c8763dfc26d3ac03ac2369

Mahoney avatar Mar 23 '25 14:03 Mahoney

Thanks for the analysis. I think such an effort would be on the larger side, and run into issues of concurrent access, be difficult to manage in an isolated-projects safe way, and also I'm not sure offhand how to make it work with Windows (re symlinks). On the subject of concurrent access, I think we'd then be trading performance for disk space, and I'm not sure that's a good trade. On the other hand, avoiding some duplicate IO might also improve performance -- it's not easy to say if it's worth it.

autonomousapps avatar Mar 24 '25 17:03 autonomousapps

Completely by accident, I ran into a bug that I just fixed, and this might end up reducing disk usage by eliminating some duplication in the dependencies/ dirs: https://github.com/autonomousapps/dependency-analysis-gradle-plugin/pull/1405

autonomousapps avatar Mar 28 '25 00:03 autonomousapps

Saved 1Mb for me

Mahoney avatar Mar 28 '25 10:03 Mahoney