Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Higgins Component Owner Checklist"

(While Higgins is in the Incubation phase)
(Builds)
Line 84: Line 84:
  
 
== Builds==
 
== Builds==
===Nightly===
+
====Nightly====
 
* The component owner is responsible for creating [[Nightly Component Builds]] scripts for their component(s).  
 
* The component owner is responsible for creating [[Nightly Component Builds]] scripts for their component(s).  
  
===Stable===
+
====Stable====
 
*The component owner determines when a build should be promoted from "nightly" to "stable"
 
*The component owner determines when a build should be promoted from "nightly" to "stable"
 
* [The higgins project doesn't yet have any "release" builds]
 
* [The higgins project doesn't yet have any "release" builds]

Revision as of 12:37, 6 June 2007

Component owners are responsible for creating and maintaining the following wiki doc, build scripts, etc. for their Components.

Components Tables

Each component is described in a table on the Components page. Tables have three kinds of rows:

  1. Component header rows - all tables have one of these
  2. Sub-Component header rows - only the Token Service has these
  3. Project rows - one row for each Eclipse project that comprises the (sub-)Component
  • Leftmost column
    • Must contain a link to the top level Main Wiki Page (see section below for details)
  • Dep.
    • The owner MUST create and maintain the "dep" dependencies page. Any new additions must be flagged to mary@socialphysics.org so that she can enter the new third party JARs into IPzilla.
  • Source & Build (Project-level rows only)
    • cvs & instructions - a wiki page (see CVS & Instructions Wiki Page section below for details)
  • Test
    • Component owners are responsible for ensuring that the sub-projects that comprise their component(s) also have associated "sister" -test projects.
  • Downloads
    • javadoc - create a link to the javadoc files mostly recently generated nightly on build.eclipse.org
    • plugins - create a link to one or more Eclipse plugins most recently built on build.eclipse.org
    • jars - create a link to one or more JARS most recently built on build.eclipse.org
  • Issues
    • Owner MUST add Bugzilla entries for the most important new features (or bugs) being worked on for the current milestone
    • Owner SHOULD add the most important ones to the current milestone wiki page

Main Wiki Page

Each component has a wiki page with the following sections (e.g. Identity Attribute Service):

  • Overview - a one para overview of the function of the component (or-project, if project-level row) as well as these sub-sections:
    • Status: <status of Component>
    • Language: <Java, Javascript, etc.>
    • Packaging: <WAR, etc.>
    • Technology Dependencies: <e.g. JSP/Servlets, JSTL, JSF, AJAX, JavaMail, JAXB >
    • JAR File Dependencies: <e.g. Apache Jakarta Commons, Spring Framework
  • To Do List
    • A link to a ToDo list page categorized per milestone
    • Must be a link because this page will be linked to on the Milestone wiki pages
  • Service <-------- MOST IMPORTANT.
    1. A description of the most salient methods of the interface
    2. A description of the basic flow of control of this Component (one para at least)
    3. A mention of the other Components it depends on (services it consumes)

CVS & Instructions Wiki Page

  • Use IdAS CVS as a prototype for your page
  • The page has these three sections:
    • General CVS information (same for all Higgins projects)
    • Module-specific information
    • Build instructions
  • It MUST include at least two .psf files (one for anonymous access, one for committers)
  • The .psf files MUST use extssh (not pserver; pserver only works for anonymous access)
  • These two MUST include all of the component's projects and any projects that are just wrappers around third party libs.
  • .psfs should NOT include projects from other Higgins components.

Build Processes

  • Component owner must use Eclipse 3.2.x to define Eclipse projects within component
  • Read Eclipse Build Automation
  • The owner must ensure that each project (dependencies, etc.) can be managed from within the Eclipse IDE without manually editing build.xml files
  • It must be possible for each project to export a build.xml Ant file such that
    • It can be used to build all appropriate targets from a command line using CVS and Ant
    • It must not use any absolute class names
    • It must not require eclipse-specific jar files (only stated dependencies)
    • It must build when eclipse is not installed
    • It must be able to build both release and debug targets
    • Targets
      • jar for any consumable component
      • war file for WS deployable components
      • javadoc
      • eclipse plugin
  • Owner must make sure that automated build scripts are using the latest build.xml

Structure and Naming

  • All project names in the component must follow Eclipse guidelines for naming
  • There should be as few projects in a component as possible. The preference would be to have one core project plus one unit test project. The decision to add additional projects is based on architectural considerations (e.g. the need for separable plugins).
  • JAR (and WAR, etc.) files should be named "higgins-<component>-<subcomponent>.major.minor.service.qualifier.jar (see Version Numbering for details)
    • test JARs include -test before .major.minor.service.qualifier
    • example: "higgins-idas-test.0.7.103.jar" - see special instructions below

While Higgins is in the Incubation phase

  • All downloadable zip files for builds and milestones must include the word "incubation" in the filename. For example, DSF-SDK-incubation-N20070413-0200.zip
  • The jar files in the download zip file are not required to contain the word "incubation" in the filename. (See bug 178944 for the explanation.)
  • All "Bundle-Name"s must include the world "incubation". Note that "Bundle-SymbolicName"s should not include "incubation" because the Bundle-SymbolicName is a technical namespace, not a user namespace. For example, Bundle-Name: Foo Plug-in (Incubation)
  • Similarly, the names for update manager features must include the word "incubation". For example, Eclipse Platform (Incubation)

Builds

Nightly

Stable

  • The component owner determines when a build should be promoted from "nightly" to "stable"
  • [The higgins project doesn't yet have any "release" builds]

Links

Back to the top