Build Environment Effort/Split Build

From Apache OpenOffice Wiki
< Build Environment Effort
Revision as of 09:08, 28 October 2009 by Mba (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Requirements

  • The split parts should be buildable in an acceptable time.
  • The split should group modules together that have something in common.
  • The boundaries between the groups should be along stable APIs where they exist code and non-code modules should be separated.
  • There should be no cross build dependencies between groups (module A in group 1 depends on module B in group 2 and module C in group 2 depends on module D in group 1).
  • There should be no cross runtime dependencies between groups (module A in group 1 depends on module B in group 2 and module C in group 2 depends on module D in group 1).

Proposal for a code architecture

File:Splitbuild architecture.jpg

I made tests on two platforms (Ubuntu Jaunty, Windows). Here are some results for Linux (all data has been collect on my Toshiba Tecra M5 notebook with 2 GHz Core 2 Duo and 4 GB RAM):

total 02:56:20 04:15:19 AM “nothing to do” 00:02:31 00:21:12 00:06:24
extern 00:17:29 00:23:07
ure 00:07:26 00:14:30
odk 00:03:13 00:16:34
common 00:19:05 00:25:45
content 00:01:18 00:04:07
deployment 00:01:23 00:03:43
gui 00:11:04 00:15:33
framework 00:25:51 00:27:55
binfilter 00:17:37 00:28:51
toplevel 00:10:43 00:14:46
base 00:07:32 00:13:38
draw 00:11:46 00:07:32
calc 00:14:40 00:23:20
writer 00:19:37 00:18:37
extensions 00:01:20 00:03:20
packimages 00:00:53 00:03:08
postprocess 00:00:02 00:00:43
instset 00:05:21 00:10:10
Personal tools