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.