Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 223562

Summary: Runtime Footprint
Product: z_Archived Reporter: Scott Rosenbaum <scottr>
Component: BIRTAssignee: Wei Yan <wyan>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: P3 CC: bluesoldier, wenfeng.fwd, wyan
Version: unspecifiedKeywords: plan
Target Milestone: Future   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Scott Rosenbaum CLA 2008-03-22 13:53:48 EDT
At EclipseCon I spoke with a number of users who were interested in using BIRT as an embedded reporting solution.  Several of them were concerned with the size of the BIRT Runtime, particularly those who were creating an RCP application which would require a full download.  

Most felt that 35 Meg was too large.  I tried to quiz as to how small was small enough, and I got the inevitable as small as possible.  That said most agreed that a full reporting solution of less than 10 Meg was acceptable.  

I realize that to go from 35 to 10 is going to be difficult, especially since a large portion of that total is attributable to other jars (e.g. com.ibm.icu is nearly 4 meg on its own).  

I guess this is a long term tracking effort to see if we can:

a) reduce the size of the core birt runtimes
b) reduce the size of the birt dependencies
c) eliminate any redundancies
d) provide better documentation in terms of what is needed and what is optional

As a simple for instance, the com.ibm.icu is in both the lib directory as well as the plugins directory.  It seems like there should be a way to eliminate the dual entry.
Comment 1 Xiaoying Gu CLA 2008-04-28 02:42:57 EDT
Only below api jars are included in ReportEngine/lib folder:

org.apache.commons.codec_*.jar
com.ibm.icu_*.jar
commons-cli-1.0.jar              
flute.jar         
org.eclipse.emf.ecore_*.jar
org.eclipse.emf.common_*.jar
org.eclipse.emf.ecore.xmi_*.jar
coreapi.jar
engineapi.jar
scriptapi.jar
js.jar
crosstabcoreapi.jar              
modelapi.jar      
modelodaapi.jar 
org.w3c.css.sac_*.jar
dteapi.jar
dataadapterapi.jar               
dataaggregationapi.jar          
odadesignapi.jar
chartengineapi.jar               
Comment 2 Wenfeng Li CLA 2008-06-09 20:53:12 EDT
We can not remove the jars in the lib directory because they are for the app server's class loader, while the libs in the plugin folder is for the OSGi class loader.

please reopen if there is suggestion on how to reduce the size.

Also, It woul dbe interesting to know what kind of hardware the user is targeting.   Is disk space an issue or is it memory footpint as issue.