Skip to content

Reduce download size by reducing dependency versions #494

Closed

Description

@spotlesscoder

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

  1. jshiell commented on Jun 25, 2020

    @jshiell
    Owner

    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.

  2. jshiell commented on Jun 28, 2020

    @jshiell
    Owner

    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.

  3. spotlesscoder commented on Jun 28, 2020

    @spotlesscoder
    Author

    Great, thanks :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions