<div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Eirik's mail mentions that 7% of Spring Petclinic dependences are <br>
directories. It might be interesting to dig into that to see how they <br>
are generated, is it mostly maven-jar-plugin and if so, which APIs is it <br>
using?<br></blockquote><div><br></div><div>Some stats:</div><div><br></div><div>Of 109 JAR files, 2 do not have a manifest file, and 28 do not have a "Created-By" attribute.</div><div><br></div><div>The distribution of "Created-By" of the remaining files:</div><div><br></div>1.4.2_09 (Apple Computer, Inc.): 1<br><br>Apache Maven Bundle Plugin: 30<br>Apache Maven Bundle Plugin 5.1.4: 2<br>Apache Maven Bundle Plugin 5.1.7: 2<br>Apache Maven 3.6.0: 1<br>Apache Maven 3.2.3: 1<br>Apache Maven 3.6.3: 2<br>Maven Jar Plugin 3.2.0: 5<br>Maven JAR Plugin 3.2.2: 2<br><br>1.6.0_32-b05 (Sun Microsystems Inc.): 1<br>1.8.0_25 (Oracle Corporation): 1<br>1.8.0_202 (Oracle Corporation): 1<br>1.8.0_252 (Oracle Corporation): 1<br>1.8.0_231 (Oracle Corporation): 1<br>1.8.0_241-b07 (Oracle Corporation): 1<br>1.8.0_281-b09 (Oracle Corporation): 1<br>1.8.0_333 (Oracle Corporation): 14<br>11.0.2 (Oracle Corporation 11.0.2+9): 1<br>11.0.8 (GraalVM Community): 1<br><br>11.0.11 (AdoptOpenJDK): 1<br>11.0.14 (Eclipse Adoptium): 1<br>11.0.13 (Eclipse Adoptium 11.0.13+8): 6<br><div>18.0.1+10 (Eclipse Adoptium): 1</div><div><br></div><div>I also checked which method was used for directories:</div><div><br></div><div>4 files had no directories.</div><div>65 files had DEFLATE only directories<br>34 files has STORED only directories<br>6 files (interestingly!) has a mix of DEFLATED and STORED directories.<br></div><div><br></div><div>Here is the count of directories of each method for each file:</div><div><br></div><div>jakarta.xml.bind-api-2.3.3.jar:<br> STORED 17<br>jsonassert-1.5.1.jar:<br> STORED 9<br>checker-qual-3.5.0.jar:<br> DEFLATED 59<br>byte-buddy-agent-1.12.13.jar:<br> STORED 13<br>spring-core-5.3.22.jar:<br> DEFLATED 53<br>jboss-logging-3.4.3.Final.jar:<br> STORED 7<br>spring-boot-actuator-2.7.3.jar:<br> DEFLATED 85<br>spring-web-5.3.22.jar:<br> DEFLATED 60<br>slf4j-api-1.7.36.jar:<br> STORED 9<br>junit-jupiter-5.8.2.jar:<br> DEFLATED 1<br>spring-aspects-5.3.22.jar:<br> DEFLATED 15<br>micrometer-core-1.9.3.jar:<br> DEFLATED 50<br>byte-buddy-1.12.13.jar:<br> DEFLATED 48<br>spring-context-5.3.22.jar:<br> DEFLATED 69<br>objenesis-3.2.jar:<br> STORED 12<br>json-smart-2.4.8.jar:<br> DEFLATED 11<br>spring-boot-starter-tomcat-2.7.3.jar:<br> DEFLATED 1<br>thymeleaf-3.0.15.RELEASE.jar:<br> STORED 42<br>postgresql-42.3.6.jar:<br> DEFLATED 57<br>spring-context-support-5.3.22.jar:<br> DEFLATED 17<br>junit-jupiter-engine-5.8.2.jar:<br> DEFLATED 13<br>spring-boot-starter-2.7.3.jar:<br> DEFLATED 1<br>jaxb-runtime-2.3.6.jar:<br> STORED 39<br>mysql-connector-java-8.0.30.jar:<br> STORED 36<br>log4j-api-2.17.2.jar:<br> STORED 23<br>spring-boot-starter-jdbc-2.7.3.jar:<br> DEFLATED 1<br>spring-boot-devtools-2.7.3.jar:<br> DEFLATED 24<br>spring-boot-test-autoconfigure-2.7.3.jar:<br> DEFLATED 37<br>spring-data-commons-2.7.2.jar:<br> STORED 49<br>spring-boot-starter-actuator-2.7.3.jar:<br> DEFLATED 1<br>log4j-to-slf4j-2.17.2.jar:<br> STORED 9<br>spring-boot-starter-aop-2.7.3.jar:<br> DEFLATED 1<br>jakarta.persistence-api-2.2.3.jar:<br> STORED 9<br>logback-core-1.2.11.jar:<br> STORED 41<br>spring-jcl-5.3.22.jar:<br> DEFLATED 7<br>junit-platform-commons-1.8.2.jar:<br> DEFLATED 16<br>assertj-core-3.22.0.jar:<br> STORED 76<br>spring-test-5.3.22.jar:<br> DEFLATED 50<br>json-path-2.7.0.jar:<br> DEFLATED 16<br>spring-boot-starter-web-2.7.3.jar:<br> DEFLATED 1<br>spring-beans-5.3.22.jar:<br> DEFLATED 16<br>accessors-smart-2.4.8.jar:<br> DEFLATED 8<br>jackson-core-2.13.3.jar:<br> STORED 2<br> DEFLATED 20<br>junit-platform-engine-1.8.2.jar:<br> DEFLATED 13<br>spring-aop-5.3.22.jar:<br> DEFLATED 21<br>asm-9.1.jar:<br> DEFLATED 5<br>spring-boot-starter-test-2.7.3.jar:<br> DEFLATED 1<br>classmate-1.5.1.jar:<br> DEFLATED 10<br>jandex-2.4.2.Final.jar:<br> DEFLATED 7<br>snakeyaml-1.30.jar:<br> DEFLATED 35<br>HdrHistogram-2.1.12.jar:<br> DEFLATED 7<br>thymeleaf-extras-java8time-3.0.4.RELEASE.jar:<br> STORED 8<br>spring-boot-actuator-autoconfigure-2.7.3.jar:<br> DEFLATED 106<br>thymeleaf-spring5-3.0.15.RELEASE.jar:<br> STORED 24<br>jakarta.activation-1.2.2.jar:<br> STORED 11<br>tomcat-embed-el-9.0.65.jar:<br>mockito-core-4.5.1.jar:<br> DEFLATED 69<br>jakarta.transaction-api-1.3.3.jar:<br> STORED 6<br>aspectjweaver-1.9.7.jar:<br> DEFLATED 47<br>spring-boot-starter-validation-2.7.3.jar:<br> DEFLATED 1<br>LatencyUtils-2.0.3.jar:<br> STORED 6<br>junit-jupiter-params-5.8.2.jar:<br> DEFLATED 29<br>spring-boot-starter-data-jpa-2.7.3.jar:<br> DEFLATED 1<br>spring-boot-starter-logging-2.7.3.jar:<br> DEFLATED 1<br>jakarta.activation-api-1.2.2.jar:<br> STORED 6<br>spring-boot-starter-json-2.7.3.jar:<br> DEFLATED 1<br>spring-boot-starter-thymeleaf-2.7.3.jar:<br> DEFLATED 1<br>jackson-datatype-jsr310-2.13.3.jar:<br> STORED 2<br> DEFLATED 15<br>tomcat-embed-websocket-9.0.65.jar:<br>spring-jdbc-5.3.22.jar:<br> DEFLATED 20<br>jackson-databind-2.13.3.jar:<br> STORED 2<br> DEFLATED 30<br>jul-to-slf4j-1.7.36.jar:<br> STORED 7<br>jackson-annotations-2.13.3.jar:<br> DEFLATED 8<br>tomcat-embed-core-9.0.65.jar:<br>hibernate-core-5.6.10.Final.jar:<br> DEFLATED 344<br>istack-commons-runtime-3.0.12.jar:<br> STORED 15<br>mockito-junit-jupiter-4.5.1.jar:<br> DEFLATED 5<br>apiguardian-api-1.1.2.jar:<br> DEFLATED 4<br>jakarta.annotation-api-1.3.5.jar:<br> STORED 8<br>xmlunit-core-2.9.0.jar:<br> STORED 14<br>bootstrap-5.1.3.jar:<br> DEFLATED 5<br>hibernate-commons-annotations-5.1.2.Final.jar:<br> DEFLATED 11<br>spring-webmvc-5.3.22.jar:<br> DEFLATED 32<br>hibernate-validator-6.2.4.Final.jar:<br> STORED 93<br>spring-boot-starter-cache-2.7.3.jar:<br> DEFLATED 1<br>font-awesome-4.7.0.jar:<br> DEFLATED 8<br>logback-classic-1.2.11.jar:<br> STORED 37<br>jackson-module-parameter-names-2.13.3.jar:<br> STORED 2<br> DEFLATED 10<br>unbescape-1.1.6.RELEASE.jar:<br> STORED 12<br>spring-expression-5.3.22.jar:<br> DEFLATED 10<br>txw2-2.3.6.jar:<br> STORED 10<br>attoparser-2.0.5.RELEASE.jar:<br> STORED 14<br>antlr-2.7.7.jar:<br> STORED 13<br> DEFLATED 1<br>cache-api-1.1.1.jar:<br> STORED 14<br>hamcrest-2.2.jar:<br> DEFLATED 13<br>junit-jupiter-api-5.8.2.jar:<br> DEFLATED 11<br>spring-tx-5.3.22.jar:<br> DEFLATED 24<br>h2-2.1.214.jar:<br>spring-data-jpa-2.7.2.jar:<br> STORED 24<br>ehcache-3.10.0.jar:<br> DEFLATED 158<br>spring-boot-test-2.7.3.jar:<br> DEFLATED 27<br>opentest4j-1.2.0.jar:<br> DEFLATED 3<br>HikariCP-4.0.3.jar:<br> DEFLATED 16<br>android-json-0.0.20131108.vaadin1.jar:<br> STORED 3<br>spring-boot-autoconfigure-2.7.3.jar:<br> DEFLATED 118<br>jackson-datatype-jdk8-2.13.3.jar:<br> STORED 2<br> DEFLATED 10<br>jakarta.validation-api-2.0.2.jar:<br> STORED 14<br>spring-boot-2.7.3.jar:<br> DEFLATED 105<br>spring-orm-5.3.22.jar:<br> DEFLATED 10<br></div><div><br></div><div><br></div><div>Cheers,</div><div>Eirik.</div></div></div>