Difference between revisions of "Modularization/Build Wizard"
From Apache OpenOffice Wiki
(Merge content of first mockup mail.) |
|||
Line 1: | Line 1: | ||
==OOo Build Wizard== | ==OOo Build Wizard== | ||
− | ===Mockup=== | + | The OOo Build Wizard |
+ | |||
+ | ===Goal=== | ||
+ | Lower the barrier of entry for OOo hacking and modularization. | ||
+ | |||
+ | ===Approach=== | ||
+ | Graphical access to the OOo source code and support of configuring, building and installing OOo (Custom) versions. | ||
+ | |||
+ | ===User Workflows=== | ||
+ | # Find a remote (OOo) repository, check it out, configure it, build it, install it. | ||
+ | # Find a local repository, re-configure it, ... | ||
+ | |||
+ | ===Requirements=== | ||
+ | ====Basic Functionality==== | ||
+ | * Find&clone a repository | ||
+ | * Update a repository | ||
+ | * Configure a repository | ||
+ | * Build a repository | ||
+ | * Install OOo | ||
+ | * Delete a repository | ||
+ | |||
+ | ====3rd Party Software==== | ||
+ | =====Libraries===== | ||
+ | * 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 | ||
+ | |||
+ | ====Constraints==== | ||
+ | * 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=== | ||
[[Image:bw_mockup.jpg]] | [[Image:bw_mockup.jpg]] | ||
Latest revision as of 06:47, 8 June 2010
Contents
OOo Build Wizard
The OOo Build Wizard
Goal
Lower the barrier of entry for OOo hacking and modularization.
Approach
Graphical access to the OOo source code and support of configuring, building and installing OOo (Custom) versions.
User Workflows
- Find a remote (OOo) repository, check it out, configure it, build it, install it.
- Find a local repository, re-configure it, ...
Requirements
Basic Functionality
- Find&clone a repository
- Update a repository
- Configure a repository
- Build a repository
- Install OOo
- Delete a repository
3rd Party Software
Libraries
- 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
Constraints
- 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
Architecture
- 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
- ...
RepoAccessor
Give access to the Open Office source code repositories. Allow e.g. "clone" a particular version, which may than be build.
Configurer
Show available build time configuration switches. Allow to set configuration parameters. Ensure that external dependencies are resolved, if applicable.
Builder
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.
Tasks
Define sub-tasks and schedules for
- Configurer - Owned by Cynthia Qu
- Builder
- RepoAccessor
- CygWin prerequisite provider
- GCC prerequisite provider.
- MS C++ prerequisite provider.