Repository navigation
Reduce download size by reducing dependency versions #494
Description
I looked into my IntelliJ plugins directory and found that checkstyle-idea contains multiple versions of some dependencies:
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/Saxon-HE-9.9.1-7.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/Saxon-HE-9.9.1-6.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/Saxon-HE-9.8.0-14.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/picocli-4.3.1.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/picocli-4.2.0.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/picocli-4.1.4.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/picocli-4.1.1.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/picocli-4.0.4.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/picocli-4.0.3.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/picocli-3.9.6.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/picocli-3.8.2.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/jsr305-3.0.2.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/jsr305-1.3.9.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/j2objc-annotations-1.3.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/j2objc-annotations-1.1.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/guava-29.0-jre.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/guava-28.2-jre.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/guava-27.1-jre.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/guava-26.0-jre.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/guava-25.1-jre.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/guava-23.6-jre.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/guava-23.0.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/guava-22.0.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/guava-21.0.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/guava-19.0.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/error_prone_annotations-2.3.4.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/error_prone_annotations-2.3.2.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/error_prone_annotations-2.2.0.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/error_prone_annotations-2.1.3.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/error_prone_annotations-2.0.18.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/commons-cli-1.4.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/commons-cli-1.3.1.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/checker-qual-2.11.1.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/checker-qual-2.10.0.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/checker-qual-2.8.1.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/checker-qual-2.5.2.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/checker-qual-2.0.0.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/antlr4-runtime-4.8-1.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/antlr4-runtime-4.7.2.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/antlr4-runtime-4.6.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/antlr4-runtime-4.5.3.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/animal-sniffer-annotations-1.18.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/animal-sniffer-annotations-1.17.jar
/home/xxx/.local/share/JetBrains/IntelliJIdea2020.1/CheckStyle-IDEA/checkstyle/lib/animal-sniffer-annotations-1.14.jar
Please check what is really necessary and reduce the amount of dependencies pulled into the plugin binary
Activity
jshiell commentedon Jun 25, 2020
Yes, known joy. We support many different version of checkstyle, each of which has different dependencies. While we have the ability in the code to map versions where we know there are no relevant changes, but that can require a lot of research and testing to assure the a substitution is safe, hence it only happens in the most obvious cases.
The ideal solution would be to only download the version of checkstyle that are required, but that’s a substantial amount of work and tbh I’ve no interest in investing the time to do it at present.
Maped a few more minor-revision JARs to save space (#494)
jshiell commentedon Jun 28, 2020
I've updating the mappings for the addition of Checkstyle 8.34, which have shaved a couple of megs off. Not much, I know, but every little helps. Thanks for the reminder.
spotlesscoder commentedon Jun 28, 2020
Great, thanks :)