+1 for Francesco's idea about building out lzma and non-lzma support together 
and let app developer choose which to use.

As for how to release them,  my suggestion is to combine lzma and non-lzma in 
make_apk zip, while separate zip for webview and cordova. Which the release 
folder will be looked like:

crosswalk-<version>.zip                                                         
  : combine lzma and non-lzma together, make_apk.py can make either of them by 
an option.
arm/crosswalk-webview-<version>-arm.zip                       : usual embedding 
api w/o lzma support
arm/crosswalk-webview-<version>-lzma-arm.zip             :  embedding api w/ 
lzma support
arm/crosswalk-cordova-<version>-arm.zip                         : usual cordova 
w/o lzma support
arm/crosswalk-cordova-<version>-lzma-arm.zip               : cordova w lzma 
support
....

Thanks,
Halton.
From: Crosswalk-dev [mailto:[email protected]] 
On Behalf Of Dong, Jun
Sent: Friday, March 27, 2015 6:33 PM
To: Balestrieri, Francesco; '<crosswalk-dev@lists. org>'
Subject: Re: [Crosswalk-dev] Intent to Implement: LZMA support for Crosswalk

Hi Francesco,

Good point.

Yes, let developers build their own Crosswalk to enable LZMA is painful, I'll 
take effort to make it available at runtime.

However there's some cases need to concern:
For make_apk, we can simply add this build flag, let developers to decide.
but for webview and cordova, we can not provide this convenience, seems we need 
to provide compressed and uncompressed version respectively.

Any advice?

From: Balestrieri, Francesco
Sent: Thursday, March 26, 2015 8:05 PM
To: Dong, Jun; '<crosswalk-dev@lists. org<mailto:crosswalk-dev@lists.%20org>>'
Subject: Re: [Crosswalk-dev] Intent to Implement: LZMA support for Crosswalk

Hi,

LZMA compression increases the startup time considerably, so this should be 
opt-in for developers. However if the only way to enable it is via a build 
flag, I'm not sure what is the value of having it in master as opposed to it 
being part of the Crosswalk Lite binary. Is there no way to make it a runtime 
option?

Francesco

From: <Dong>, Jun <[email protected]<mailto:[email protected]>>
Date: Thursday 26 March 2015 09:26
To: "<crosswalk-dev@lists. org<mailto:crosswalk-dev@lists.%20org>>" 
<[email protected]<mailto:[email protected]>>
Subject: [Crosswalk-dev] Intent to Implement: LZMA support for Crosswalk

Description:
LZMA support is firstly designed for Crosswalk Lite,  this feature remarkably 
reduced the apk size(about 30%) by introducing an LZMA compression algorithm.
We want to backport some feature from Crosswalk Lite to Crosswalk, after 
discussion and voting, we've reach an agreement here:
https://docs.google.com/a/intel.com/spreadsheets/d/1RJOKGOABE_IhEnnA1RfbFqS95jxY9kV5MX_4rUGG6jE/edit#gid=0
Since the size is critical for Crosswalk, this feature is warmly welcomed by 
developers.

Affected component:
crosswalk.

Related feature:
LZMA support for Crosswalk:
JIRA: https://crosswalk-project.org/jira/browse/XWALK-3810

LZMA support for Crosswalk Lite:
Pull Request: 
https://github.com/d0ngjun/crosswalk/commit/671f6b6bc4c0f8abb4376b57a52fb8847b4ae21e

Target release:
Crosswalk-14

Implementation details:
This use the LZMA library from 
SevenZip(http://sourceforge.net/projects/sevenzip/files/).
The app will firstly extract the compressed library in its package, if it 
doesn't found the library or the library is older.
Crosswalk will provide a new method(onXWalkReady) for developers to customize 
their behavior when the decompression is completed.
Will add a new build flag(use_lzma), by default it is disabled in Crosswalk.

Risks/Opens:

1.       Rebasing may introduce some regression.

2.       Pay attention to Crosswalk <-> Crosswalk Lite cross upgrading.


Best Wishes,

Dong Jun

_______________________________________________
Crosswalk-dev mailing list
[email protected]
https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev

Reply via email to