V3 Build System Project

GlassFish V3 build system is based on the principles outlined at HowDoesV3BuildWorks. [Kohsuke] created a slightly detailed presentation which is another good starting point. The implementation of the build system involves several infrastructure and engineering tasks. This wiki is used to track the status of build system.

Team

Core Implementation Team

  • [dpatil]
  • [anilam]
  • [psterk]
  • [tcfujii]

Advisors and Oversight

[kcavanaugh ] SCM Expert
[kohsuke ] Maven and Build System Expert
[dochez ] Oversight

Task List

In-Process Tasks

Task Description Owner Status
Create List of Modules dochez WIP
Create Continuous build infrastructure (hudson). Note: may not be available outside Sun tcfujii WIP
Support the automated creation of the pe-base-10.0-SNAPSHORT.zip file: call maven from ant to download artifacts psterk WIP: see v3 Build Environement Page
Support the automated creation of the pe-base-10.0-SNAPSHORT.zip file: write reusable ant build.xml files to create pe-base, ee-base, nucleus-base, tomcat and other builds psterk WIP: see v3 Build Environement Page
Send the steps to build V3 to Terena, and installer to publish on java.net Dinesh WIP
Check with J2SE group for tools, versions available in /dev/javatools Abhijit WIP
Talk to Deepa for any progress/update on quicklook / tests ready for V3 to verify. psterk WIP
Reorganize glassfish files to conform to the Maven Standard Directory Layout psterk Not started

Completed Tasks

Task Description Owner Status
Create build framework kohsuke Decision to use maven 2
Dry run on using Mercurial: convert repo using convert-repo script psterk Lost some file history. Consider use of tailor with new cvs repo instead.
Obtain glassfish RCS ,v files psterk Completed

Open Items

Most of the following items should convert to one or more tasks on the task list above.

  1. Which SCM tool is appropriate for GlassFish?
    Use svn for now. Migrate to hg in CY 2008
  2. What is the correct frequency of builds for a module?
  3. Who is the decision maker on when to integrate into GlassFish?
  4. What is the required information for a module's maven POM file?
  5. How to make hudson reports available to GlassFish community?
  6. Is there a common test framework that all modules can use?
  7. How to deal with the merge of GFV3_PREWORK_BRANCH and SJSAS91_FCS_BRANCH?
  8. How do we communicate the changes to GlassFish developer community? Who creates training/tutorials on the new process?
  9. Project Planning – How do we know that we are done (in other words, what are the success metrics)? Are there phases?
  10. svn -> hg conversion plan for different modules.
    Work has started on the project plan. Goal is to finish by CY 2007
  11. How do we build native (C/C++) code?

Meeting Minutes



GlassFish v3 build.pdf (application/pdf)