Modularization/Build Wizard

From Apache OpenOffice Wiki
Jump to: navigation, search

OOo Build Wizard

The OOo Build Wizard


Lower the barrier of entry for OOo hacking and modularization.


Graphical access to the OOo source code and support of configuring, building and installing OOo (Custom) versions.

User Workflows

  1. Find a remote (OOo) repository, check it out, configure it, build it, install it.
  2. Find a local repository, re-configure it, ...


Basic Functionality

  • Find&clone a repository
  • Update a repository
  • Configure a repository
  • Build a repository
  • Install OOo
  • Delete a repository

3rd Party Software

  • Identify required 3rd party code
  • manage 3rd party code (install, de-install)
Build Tools
  • Identify and manage build tools
Advanced Functionality
  • Push a repository
  • Provide a repository
  • Clone a local repository
  • re-build on change


  • Single User Interface - The user should be able to fulfill the whole lifecycle of checkout out the source, configuring it, build it, installing it, uninstalling, deleting the source.
  • Automatic dependency satisfaction

GUI Mockup

Bw mockup.jpg


  • RepoAccessor - This clones, pushes etc. source code.
  • Configurer - Configures a local clone.
  • Builder - Builds it.
  • Prerequisite Manager (PreqManager) - Manages Prerequisite Providers:
    • Mercurial
    • CygWin
    • All external configurable things, such as
      • libxml
      • gnome
      • ...


Give access to the Open Office source code repositories. Allow e.g. "clone" a particular version, which may than be build.


Show available build time configuration switches. Allow to set configuration parameters. Ensure that external dependencies are resolved, if applicable.


Start the build, show progress.

Prerequisites Provider

Ensure that a particular prerequisite is available.

On request the prerequisite provider for CygWin offers to download and to install CygWin.


Define sub-tasks and schedules for

  • Configurer - Owned by Cynthia Qu
  • Builder
  • RepoAccessor
  • CygWin prerequisite provider
  • GCC prerequisite provider.
  • MS C++ prerequisite provider.
Personal tools