Difference between revisions of "Capstone 2013 Client Requirements Document"

From Apache OpenOffice Wiki
Jump to: navigation, search
(CS 461 / 462 / 463 Client Requirements Document)
Line 1: Line 1:
 
{{Build Environment Effort}}
 
{{Build Environment Effort}}
  
== CS 461 / 462 / 463 Client Requirements Document ==
+
== Project Name ==
 
+
 
+
Project Name
+
 
Windows Build System for Apache Open Office
 
Windows Build System for Apache Open Office
  
  
Team Name: Walnut Crusade
+
== Team Name ==
 +
Walnut Crusade
  
  
Team Members:
+
== Team Members ==
  
 
* Matt Wilson – wilsomat@onid.oregonstate.edu
 
* Matt Wilson – wilsomat@onid.oregonstate.edu
Line 20: Line 18:
  
  
Mentor:
+
== Mentor ==
 
Jan Iversen - jani@apache.org, 0034-622-87-6619 Apache Software Foundation
 
Jan Iversen - jani@apache.org, 0034-622-87-6619 Apache Software Foundation
  
  
Additional Assistance:
+
== Additional Assistance ==
 
Steve Hathaway – shathaway@apache.org, Apache Software Foundation
 
Steve Hathaway – shathaway@apache.org, Apache Software Foundation
  
  
Introduction to the problem:
+
=== Introduction to the problem ===
 
Building the Open Office software through Visual Studio as a Windows developer is difficult and has to be done through CygWin. Our goal is to create a method of properly compiling all modules using Microsoft Visual Studio on Windows.
 
Building the Open Office software through Visual Studio as a Windows developer is difficult and has to be done through CygWin. Our goal is to create a method of properly compiling all modules using Microsoft Visual Studio on Windows.
  
  
Project Description:
+
=== Project Description ===
 
Make a system that allows for the system to be easily built/debugged from within Microsoft Visual Studio
 
Make a system that allows for the system to be easily built/debugged from within Microsoft Visual Studio
  
  
Requirements:
+
=== Requirements ===
  
 
* Create a method of building the modules within the Open Office source using Microsoft Visual Studio; the generated modules should integrate with the current build system
 
* Create a method of building the modules within the Open Office source using Microsoft Visual Studio; the generated modules should integrate with the current build system
Line 44: Line 42:
  
  
Version Numbers:
+
=== Version Numbers ===
 
* Version 0.1 - a single module that is converted to a vcproj file
 
* Version 0.1 - a single module that is converted to a vcproj file
 
* Version 0.2 - 10 modules converted to build using vcproj files
 
* Version 0.2 - 10 modules converted to build using vcproj files
Line 56: Line 54:
  
  
Design:
+
=== Design ===
 
* The end result of this project should be an Apache Open Office source tree with the build system for modules replaced with Visual Studio project files: the basic functionality of the system should remain the same. The completed system should build with a single command within Visual Studio.
 
* The end result of this project should be an Apache Open Office source tree with the build system for modules replaced with Visual Studio project files: the basic functionality of the system should remain the same. The completed system should build with a single command within Visual Studio.
 
* Most conversion of modules will be done manually, copying over the functionality of a makefile to a Visual Studio project. Automated scripts may be used if applicable.
 
* Most conversion of modules will be done manually, copying over the functionality of a makefile to a Visual Studio project. Automated scripts may be used if applicable.
  
  
Specific tasks to be undertaken:
+
=== Specific tasks to be undertaken ===
 
* Get a working setup to build the current version of Apache Open Office under Windows using CYGWin.
 
* Get a working setup to build the current version of Apache Open Office under Windows using CYGWin.
 
* Conduct research on vcxproj file format, makefile format, similarities & differences, Visual Studio environment variables, build rules, and so on: between the members of our group we should have an understanding of all of these elements
 
* Conduct research on vcxproj file format, makefile format, similarities & differences, Visual Studio environment variables, build rules, and so on: between the members of our group we should have an understanding of all of these elements
Line 72: Line 70:
  
  
Risk Assessment:
+
=== Risk Assessment ===
 
# Inexperience: none of our group members have experience with build systems, and our Linux experience is similarly limited. This risk can be mitigated by studying the current build system prior to beginning implementation.
 
# Inexperience: none of our group members have experience with build systems, and our Linux experience is similarly limited. This risk can be mitigated by studying the current build system prior to beginning implementation.
 
# Manual conversion of modules may take longer than expected due to complexities: a script or other automated method of speeding up the process may not be feasible. This will be obvious if we start to fall behind in meeting our milestones.
 
# Manual conversion of modules may take longer than expected due to complexities: a script or other automated method of speeding up the process may not be feasible. This will be obvious if we start to fall behind in meeting our milestones.
  
  
Testing:
+
=== Testing ===
 
* For every module converted, Open Office should build and run properly after making the change. The system should be tested after any module is converted.
 
* For every module converted, Open Office should build and run properly after making the change. The system should be tested after any module is converted.
 
* Several modules will require additional testing of the compiled .exe; this testing will be performed by the client
 
* Several modules will require additional testing of the compiled .exe; this testing will be performed by the client
  
  
Preliminary Timetable:
+
== Preliminary Timetable ==
  
  
  
Roles of the different team members:
+
=== Roles of the different team members ===
 
* Matt Wilson - Scheduling, P3
 
* Matt Wilson - Scheduling, P3
 
* Nick Smith - Module conversion
 
* Nick Smith - Module conversion
Line 93: Line 91:
  
  
Integration Plan:
+
=== Integration Plan ===
 
* Make sure current build system works when using modules created with Visual Studio projects
 
* Make sure current build system works when using modules created with Visual Studio projects
 
* Make sure converted modules do not conflict with each other after being integrated together
 
* Make sure converted modules do not conflict with each other after being integrated together
  
  
References:
+
== References ==
 
# Current build system description: http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Step_by_step
 
# Current build system description: http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Step_by_step
 
# Apache Open Office website: http://www.openoffice.org/
 
# Apache Open Office website: http://www.openoffice.org/
Line 113: Line 111:
  
  
Glossary:
+
== Glossary ==
 
* vcxproj: similar to a makefile in Unix/Linux systems. Determines how the project is compiled. Used to be vcproj files until more recent versions of Visual Studio. vcxproj files are written in XML.
 
* vcxproj: similar to a makefile in Unix/Linux systems. Determines how the project is compiled. Used to be vcproj files until more recent versions of Visual Studio. vcxproj files are written in XML.
 
* AOO: Apache Open Office
 
* AOO: Apache Open Office
 
* Xerces: An XML parser developed by Apache.
 
* Xerces: An XML parser developed by Apache.
 
* CygWin: an emulation of Linux tools in Microsoft Windows.
 
* CygWin: an emulation of Linux tools in Microsoft Windows.

Revision as of 03:43, 22 November 2013

Edit.png

Build Environment Effort

Quick Navigation

About this template


Project Name

Windows Build System for Apache Open Office


Team Name

Walnut Crusade


Team Members

  • Matt Wilson – wilsomat@onid.oregonstate.edu
  • Colin Bradford – bradfoco@onid.orst.edu
  • Nicholas Smith – smitnich@onid.oregonstate.edu
  • Matt Vanderhey – vandehma@onid.orst.edu (Not currently part of the active project)


Mentor

Jan Iversen - jani@apache.org, 0034-622-87-6619 Apache Software Foundation


Additional Assistance

Steve Hathaway – shathaway@apache.org, Apache Software Foundation


Introduction to the problem

Building the Open Office software through Visual Studio as a Windows developer is difficult and has to be done through CygWin. Our goal is to create a method of properly compiling all modules using Microsoft Visual Studio on Windows.


Project Description

Make a system that allows for the system to be easily built/debugged from within Microsoft Visual Studio


Requirements

  • Create a method of building the modules within the Open Office source using Microsoft Visual Studio; the generated modules should integrate with the current build system
  • Every Apache Open Office module should be represented by a Visual Studio Project file, and
  • Solution should require a minimum of setup and work on Windows 7 64-bit. The solution is not required to work with other configurations, but our modifications to the solution should not prevent it from being ported in the future


Version Numbers

  • Version 0.1 - a single module that is converted to a vcproj file
  • Version 0.2 - 10 modules converted to build using vcproj files
  • Version 0.3 - 35 modules converted to build using vcproj files
  • Version 0.4 - 60 modules converted to build using vcproj files
  • Version 0.5 - 85 modules converted to build using vcproj files
  • Version 0.6 - 110 modules converted to build using vcproj files
  • Version 0.7 - 135 modules converted to build using vcproj files
  • Version 0.8 - 160 modules converted to build using vcproj files
  • Version 1.0 - all modules converted to build using vcproj files


Design

  • The end result of this project should be an Apache Open Office source tree with the build system for modules replaced with Visual Studio project files: the basic functionality of the system should remain the same. The completed system should build with a single command within Visual Studio.
  • Most conversion of modules will be done manually, copying over the functionality of a makefile to a Visual Studio project. Automated scripts may be used if applicable.


Specific tasks to be undertaken

  • Get a working setup to build the current version of Apache Open Office under Windows using CYGWin.
  • Conduct research on vcxproj file format, makefile format, similarities & differences, Visual Studio environment variables, build rules, and so on: between the members of our group we should have an understanding of all of these elements
  • Select a module with a relatively low amount of dependencies and convert its makefile into an equivalent vcxproj file, then build this through Visual Studio. Once built, insert this into the current AOO build system and verify that it builds properly.
  • Research into methods of automating parts of the conversion process, and create a set of scripts to expedite the conversion process if possible.
  • Continue to convert modules to use Visual Studio projects instead of makefiles.
  • Compose a Visual Studio solution file encapsulating all converted modules.
  • Write up documentation on how the new build system operates


Risk Assessment

  1. Inexperience: none of our group members have experience with build systems, and our Linux experience is similarly limited. This risk can be mitigated by studying the current build system prior to beginning implementation.
  2. Manual conversion of modules may take longer than expected due to complexities: a script or other automated method of speeding up the process may not be feasible. This will be obvious if we start to fall behind in meeting our milestones.


Testing

  • For every module converted, Open Office should build and run properly after making the change. The system should be tested after any module is converted.
  • Several modules will require additional testing of the compiled .exe; this testing will be performed by the client


Preliminary Timetable

Roles of the different team members

  • Matt Wilson - Scheduling, P3
  • Nick Smith - Module conversion
  • Colin Bradford - Secretary

Module conversion will be split up relatively evenly between group members; client will help group the modules.


Integration Plan

  • Make sure current build system works when using modules created with Visual Studio projects
  • Make sure converted modules do not conflict with each other after being integrated together


References

  1. Current build system description: http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Step_by_step
  2. Apache Open Office website: http://www.openoffice.org/
  3. First attempt at remaking the build system:
  4. Zen of gbuild: http://wiki.openoffice.org/wiki/Build_Environment_Effort/Zen_of_gbuild
  5. Gbuild Bootstrapping: http://wiki.openoffice.org/wiki/Build_Environment_Effort/Gbuild_Bootstrapping
  6. Module Migration: http://wiki.openoffice.org/wiki/Build_Environment_Effort/Module_Migration
  7. Time Converter: http://www.worldtimebuddy.com/?pl=1&lid=5720727,100&h=5720727
  8. Wiki for project: http://wiki.openoffice.org/wiki/Build_System_Analysis:capstone2013_windows_build
  9. Build System Analysis: http://wiki.openoffice.org/wiki/Build_System_Analysis
  10. Apache Xerces website: http://xerces.apache.org/
  11. W3 XML tutorials: http://www.w3schools.com/xml/default.asp
  12. Visual Studio changes: http://msdn.microsoft.com/en-us/library/ee862524.aspx


Glossary

  • vcxproj: similar to a makefile in Unix/Linux systems. Determines how the project is compiled. Used to be vcproj files until more recent versions of Visual Studio. vcxproj files are written in XML.
  • AOO: Apache Open Office
  • Xerces: An XML parser developed by Apache.
  • CygWin: an emulation of Linux tools in Microsoft Windows.
Personal tools