openhab/openhab-distro

Size of the kar file increased significantly in 4.2

lolodomo opened this issue · 8 comments

Here are the sizes of the kar file:

  • 4.1.1: 377 MB
  • 4.2 M1: 455 MB
  • 4.2 snapshot 4023: 462 MB

At the same time, the size of the zip file did not change significantly.

Have we an idea why an increase of 20% between 4.1.1 and 4.2M1 ?

Here's a list of the 10 largest files in the resp. KARs:

4.1.1:

9666380 repository/org/openhab/addons/bundles/org.openhab.persistence.jpa/4.1.1/org.openhab.persistence.jpa-4.1.1.jar
11688445 repository/org/openhab/addons/bundles/org.openhab.binding.jellyfin/4.1.1/org.openhab.binding.jellyfin-4.1.1.jar
13030515 repository/org/xerial/sqlite-jdbc/3.42.0.0/sqlite-jdbc-3.42.0.0.jar
27149956 repository/org/openhab/addons/bundles/org.openhab.automation.jsscripting/4.1.1/org.openhab.automation.jsscripting-4.1.1.jar
29687298 repository/org/openhab/addons/bundles/org.openhab.voice.googlestt/4.1.1/org.openhab.voice.googlestt-4.1.1.jar
32037142 repository/org/openhab/addons/bundles/org.openhab.voice.marytts/4.1.1/org.openhab.voice.marytts-4.1.1.jar
32493594 repository/org/openhab/addons/bundles/org.openhab.voice.voskstt/4.1.1/org.openhab.voice.voskstt-4.1.1.jar
33353783 repository/org/openhab/addons/bundles/org.openhab.automation.jrubyscripting/4.1.1/org.openhab.automation.jrubyscripting-4.1.1.jar
43062113 repository/org/openhab/addons/bundles/org.openhab.automation.jythonscripting/4.1.1/org.openhab.automation.jythonscripting-4.1.1.jar

4.2.0.M1:

13030515 repository/org/xerial/sqlite-jdbc/3.42.0.0/sqlite-jdbc-3.42.0.0.jar
13894191 repository/org/openhab/addons/bundles/org.openhab.binding.androidtv/4.2.0.M1/org.openhab.binding.androidtv-4.2.0.M1.jar
27150556 repository/org/openhab/addons/bundles/org.openhab.automation.jsscripting/4.2.0.M1/org.openhab.automation.jsscripting-4.2.0.M1.jar
29687355 repository/org/openhab/addons/bundles/org.openhab.voice.googlestt/4.2.0.M1/org.openhab.voice.googlestt-4.2.0.M1.jar
32037154 repository/org/openhab/addons/bundles/org.openhab.voice.marytts/4.2.0.M1/org.openhab.voice.marytts-4.2.0.M1.jar
32492950 repository/org/openhab/addons/bundles/org.openhab.voice.voskstt/4.2.0.M1/org.openhab.voice.voskstt-4.2.0.M1.jar
33442344 repository/org/openhab/addons/bundles/org.openhab.automation.jrubyscripting/4.2.0.M1/org.openhab.automation.jrubyscripting-4.2.0.M1.jar
47294266 repository/org/openhab/addons/bundles/org.openhab.automation.jythonscripting/4.2.0.M1/org.openhab.automation.jythonscripting-4.2.0.M1.jar
60962880 repository/org/openhab/addons/bundles/org.openhab.voice.pipertts/4.2.0.M1/org.openhab.voice.pipertts-4.2.0.M1.jar

I consider everything above 10MB really massive, but we can see that the sudden increase is due to the newly added pipertts with a whopping 61 MB in size (fyi @GiviMAD).

And so androidtv and jythonscripting also increased of several MB.

I consider everything above 10MB really massive, but we can see that the sudden increase is due to the newly added pipertts with a whopping 61 MB in size (fyi @GiviMAD).

The reason for it are the piper native dependencies (more specifically the onnxruntime dependency) which are present for multiple platforms.
I'm not sure how to proceed, would you recommend to rollback the add-on and move it to the marketplace or to create a version without the binaries included?

@GiviMAD I'm not sure what's the best strategy. I wouldn't want to throw the add-on out and move it to the marketplace. But if there is some way to remove the binaries and have them rather as a prerequisite stored in some folder, it might be helpful here. Ideally, for the "online" use of openHAB, everything should be downloaded just as now and ready to be used. Then it would only slightly decrease the UX for "offline" / KAR users. Would you see any such option?

@GiviMAD I'm not sure what's the best strategy. I wouldn't want to throw the add-on out and move it to the marketplace. But if there is some way to remove the binaries and have them rather as a prerequisite stored in some folder, it might be helpful here. Ideally, for the "online" use of openHAB, everything should be downloaded just as now and ready to be used. Then it would only slightly decrease the UX for "offline" / KAR users. Would you see any such option?

Yes, I think I can download the binaries from maven on initialization, I'm going to give it a try.

Has the KAR file size been reduced significantly enough now that openhab/openhab-addons#16755 got merged @lolodomo?

We are down to 419 MB, so I would say that the issue is resolved (acknowledging that new add-ons have been added since 4.1).

We are down to 419 MB, so I would say that the issue is resolved (acknowledging that new add-ons have been added since 4.1).

OK