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

Duplicate jars in packaged versions #6515

Open
wetneb opened this issue Apr 8, 2024 · 0 comments
Open

Duplicate jars in packaged versions #6515

wetneb opened this issue Apr 8, 2024 · 0 comments
Assignees
Labels
packaging How we distribute OpenRefine to end users, on various operating systems

Comments

@wetneb
Copy link
Sponsor Member

wetneb commented Apr 8, 2024

We ship a lot of duplicate .jar files in our releases.

I ran find . | grep -P "\.jar" | sed -e "s:.*/::g" |less | sort | uniq -c | grep -vP "^ *1 " and got:

      2 butterfly-1.2.5.jar
      3 checker-qual-3.42.0.jar
      3 commons-codec-1.16.1.jar
      2 commons-collections-3.2.2.jar
      2 commons-compress-1.26.1.jar
      3 commons-io-2.16.0.jar
      2 commons-lang-2.6.jar
      3 commons-lang3-3.14.0.jar
      3 error_prone_annotations-2.26.1.jar
      3 failureaccess-1.0.2.jar
      2 gson-2.10.1.jar
      3 guava-33.1.0-jre.jar
      3 httpclient-4.5.14.jar
      3 httpclient5-5.3.1.jar
      3 httpcore-4.4.16.jar
      3 httpcore5-5.2.4.jar
      3 httpcore5-h2-5.2.4.jar
      3 j2objc-annotations-3.0.0.jar
      2 jcl-over-slf4j-1.7.36.jar
      2 jetty-http-10.0.16.jar
      2 jetty-io-10.0.16.jar
      2 jetty-util-10.0.16.jar
      3 jsr305-3.0.2.jar
      2 lessen-1.0.jar
      3 listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
      8 localizer-1.31.jar
      2 opencensus-api-0.31.1.jar
      2 opencensus-contrib-http-util-0.31.1.jar
      2 oro-2.0.8.jar
      2 rhino-1.7.14.jar
      2 velocity-1.6.3.jar

For most of these, we should be able to eliminate the duplication by making sure they are only loaded in the most primitive module (server > main > any extension).

@wetneb wetneb added the packaging How we distribute OpenRefine to end users, on various operating systems label Apr 8, 2024
@wetneb wetneb self-assigned this Apr 8, 2024
wetneb added a commit to wetneb/OpenRefine that referenced this issue Apr 9, 2024
For OpenRefine#6515.

There are still a lot more duplicates that could be removed,
but somehow I can't avoid to ship two copies of butterfly and
its dependencies without making the app crash.
wetneb added a commit to wetneb/OpenRefine that referenced this issue Apr 9, 2024
For OpenRefine#6515.

There are still a lot more duplicates that could be removed,
but somehow I can't avoid to ship two copies of butterfly and
its dependencies without making the app crash.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
packaging How we distribute OpenRefine to end users, on various operating systems
Projects
None yet
Development

No branches or pull requests

1 participant