Hi.

Just an update on the capstone 2013 project.

The students have on plan delivered a requirement spec (see edited version
below). Steven H (Xalan) and I have spent quite a lot of time, getting the
students on the right track.

Next step, is a technology research, and then we start converting, I am in
parallel with the students working on the makefile side (see other thread
about removing build.pl). The students delivers the final (hopeful
successful) result end of may 2014.

Most work will be done in a local repo (NOT to hide anything, but to avoid
access problems), and the capstone branch will for now mainly be used to
merge changes from trunk and build.pl experiments. Interested people can of
course get a preview as we go along.


==== requirement doc (edited !, removed personal information) ====

CS 461 / 462 / 463

Client Requirements Document

Project Name

Windows Build System for Apache Open Office

Team Name: Walnut Crusade

Team Members:

Mentor:

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

Additional Assistance:

Steve Hathaway – shatha...@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:

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:

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:

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:
   1.

      Zen of gbuild:
      http://wiki.openoffice.org/wiki/Build_Environment_Effort/Zen_of_gbuild
      2.

      Gbuild Bootstrapping:
      
http://wiki.openoffice.org/wiki/Build_Environment_Effort/Gbuild_Bootstrapping
      3.

      Module Migration:
      http://wiki.openoffice.org/wiki/Build_Environment_Effort/Module_Migration
      4.

   Time Converter:
   http://www.worldtimebuddy.com/?pl=1&lid=5720727,100&h=5720727
   5.

   Wiki for project:
   
http://wiki.openoffice.org/wiki/Build_System_Analysis:capstone2013_windows_build
   6.

   Build System Analysis:
   http://wiki.openoffice.org/wiki/Build_System_Analysis
   7.

   Apache Xerces website: http://xerces.apache.org/
   8.

   W3 XML tutorials: http://www.w3schools.com/xml/default.asp
   9.

   Visual Studio changes:
   http://msdn.microsoft.com/en-us/library/ee862524.aspx


Glossary:

   1.

   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.
   2.

   AOO: Apache Open Office
   3.

   Xerces: An XML parser developed by Apache.
   4.

   CygWin: an emulation of Linux tools in Microsoft Windows.


Signatures:


==========

Its my hope, this project will help to change the current build system.

Since there are a lot of feelings/opinions attached to the existing build
system, none of this will be merged back to trunk, without a prior
discussion on this list.

rgds
jan I.

Reply via email to