Author: husted Date: Sat Oct 23 03:28:17 2004 New Revision: 55366 Modified: struts/trunk/doc/acquiring.xml struts/trunk/doc/bylaws.xml struts/trunk/doc/releases.xml struts/trunk/doc/roadmap.xml Log: Updates to synch website with discussions on Struts Dev list.
Modified: struts/trunk/doc/acquiring.xml ============================================================================== --- struts/trunk/doc/acquiring.xml (original) +++ struts/trunk/doc/acquiring.xml Sat Oct 23 03:28:17 2004 @@ -57,9 +57,6 @@ When a build is judged "ready for prime time", it is promoted to "General Availability" status and may be made the "Best Available" release. </p> - <p> - The current development build is Struts v1.2.5 and is available <a href="http://svn.apache.org/dist/struts/v1.2.5/">here</a> - </p> </section> Modified: struts/trunk/doc/bylaws.xml ============================================================================== --- struts/trunk/doc/bylaws.xml (original) +++ struts/trunk/doc/bylaws.xml Sat Oct 23 03:28:17 2004 @@ -275,30 +275,27 @@ <section name="Release Plan"> <p> - A release plan may be used to keep all volunteers aware of when a - release is desired, who will be the release manager, when the - repository will be tagged to create a release, and other assorted - information to keep volunteers from tripping over each other. Lazy - majority decides each issue in a release plan. + A release plan must be used to keep all volunteers aware of when a + release is desired, whether it will be a major, minor, or + milestone release, who will be the release manager, when the + repository will be tagged to create the distribution, and other assorted + information to keep volunteers from tripping over each other. A release + plan must be announced to the DEV list. Lazy majority decides each issue + in a release plan. </p> - </section> + </section> <section name="Release Grade"> <p> - After a new release is built, it must be tested and classified before - being released to the general public. A release is automatically - assigned an "Alpha" status. The release grade may be changed to - "Beta" or "General Availability" by majority vote. Once a release is - classified by the PMC Members, it can be distributed to the general - public on behalf of the Foundation. - </p> - - <p> - Once a release is tagged and built (or "rolled"), it should not be - rebuilt. If a problem is found, that release may be left at Alpha - or Beta status and the next release created. + After a proposed release is built, it must be tested and classified before + being released to the general public. The proposed release may be assigned + "Alpha", "Beta" or "General Availability" classifications by majority vote. + Once a release is classified by the PMC Members, it may be distributed to + the general public on behalf of the Foundation. Distributions may be + reclassified or withdrawn by majority vote, but the release number may not + be reused by another distribution. </p> </section> Modified: struts/trunk/doc/releases.xml ============================================================================== --- struts/trunk/doc/releases.xml (original) +++ struts/trunk/doc/releases.xml Sat Oct 23 03:28:17 2004 @@ -15,47 +15,36 @@ <a href="acquiring.html">available for download</a>.</p> </section> <section href="Releases" name="Release Guidelines"> - <p>A - <a href="http://jakarta.apache.org/commons/versioning.html">point release</a> should be made before and after any product change that is not a "fully-compatible change" (see link). This includes moving a dependency from an internal package to an external product, including products distributed through the Jakarta Commons. We should place any fully-compatible changes in the hands of the community before starting on a change that is only "interface" or "external-interface" compatible.</p> - <p>A fully-compatible point release does not always need a "preview" beta or milestone release. If appropriate, a Release Candidate can be cut, uploaded to the development distribution directories on svn.apache.org (/www/svn.apache.org/dist/struts/ and http://svn.apache.org/repository/struts/), and voted to be released to the general public from there. </p> - <p>Any release should follow the same general process used by the Jakarta Commons and the Apache HTTP Server project.</p> - <ul> - <li> - <a href="http://jakarta.apache.org/commons/releases/">Releasing Common Components</a> - </li> - <li> - <a href="http://nagoya.apache.org/wiki/apachewiki.cgi?SigningReleases">Signing a release version</a> - <ul> - <li> - <small>The MD5 tool is installed on daedalus, and you can create the digests for Struts releases there.</small> - </li> - </ul> - </li> - <li> - <a href="http://httpd.apache.org/dev/release.html">Apache HTTPD Server Release Guidelines</a> - </li> - <li> - <a href="http://apache.org/dev/">Apache Developer Resources</a> - </li> - </ul> + <p>A + <a href="http://jakarta.apache.org/commons/releases/versioning.html">point release</a> should be made before and after any product change that is not a "fully-compatible change" (see link). This includes moving a dependency from an internal package to an external product, including products distributed through the Jakarta Commons. We should place any fully-compatible changes in the hands of the community before starting on a change that is only "interface" or "external-interface" compatible.</p> + <p>Any release should follow the same general process used by the Jakarta Tomcat team and the <a href="http://httpd.apache.org/dev/release.html">Apache HTTP Server project</a>, + and must observe the <a href="http://apache.org/dev/mirrors.html">Apache Mirroring guidelines</a>. + See also <a href="http://nagoya.apache.org/wiki/apachewiki.cgi?SigningReleases">Signing Releases</a>. + </p> <p>Additional remarks:</p> <ul> + <li>Every committer is encouraged to participate in the release process, either as the release manager or a helper. Committers may also share the release manager role.</li> <li>The release process can seem daunting when you review it for the first time. But, essentially, it breaks down into four phases of just a few steps each: <ul> <li><strong>Rolling</strong> - Bugzilla, dependencies, release notes, JAR manifest, licenses, copyrights, and build (using the release target).</li> <li><strong>Testing</strong> - JUnit, Cactus, web apps (for all "supported" containers).</li> - <li><strong>Voting</strong> - Upload to home directory, post majority vote on DEV list as to release grade: Alpha, Beta, General Availability.</li> + <li><strong>Voting</strong> - Upload test build to internal directory, post majority vote on DEV list as to release grade: Alpha, Beta, General Availability.</li> <li><strong>Distributing</strong> - Checksum, sign, mirror, update download page, announce.</li> </ul></li> - <li>Our dependencies on external JARs (including Commons JARs) should be in line with our own release status. Our nightly build can be dependant on another nightly build. Our beta can be dependant on another beta, but should avoid a dependance on a nightly build. Our release candidate can have a dependance on another RC, but should not have a dependance on a beta (and certainly - <strong>not</strong>a nightly build). Our General Availability release can only have dependencies on other GA, final, or stable releases.</li> - <li>Use your own discretion as to detail needed by the Release Notes. A high-level description of the changes is more important than providing uninterpreted detail. At a minimum, new features and deprecations should be summarized, since these are commonly asked questions. Ideally, the release notes should be maintained continuously for the nightly build so that we do not need to quickly assembled them on the eve of a Release.</li> - <li>Test building the distribution under prior version of J2SE, if possible, to ensure that we are still backwardly-compatible. But, our Release distribution should be built using the - <strong>latest release of J2SE</strong>, to take advantage of all available compiler enhancements.</li> - <li>Before building the release, run the JUnit and Cactus tests using the same configuration used that will be used to build the Release distribution.</li> - <li>There is a "release" target in the buildfile that will zip and tar the releases. Before uploading the release, extract the sample web applications and deploy the WARs under each of the "supported" containers. Play test each application under each container to be sure they operate nominally.</li> - <li>The Alpha release can be posted to your Apache home directory (www.apache.org/~$USERNAME) for initial testing. Once it is voted to Beta or GA status, the release can be submitted to the distribution channels.</li> - <li>After announcing a release, remember to update the Acquiring and Announcements pages.</li> + <li>Committers are <b>required</b> to post a release plan before tagging the repository and should wait the traditional 72 hours before proceeding.</li> + <li>A checklist format can be used for the <a href="http://wiki.apache.org/struts/StrutsRelease125">release plan</a>, to help step through the process. The plan may be maintained in the repository or on the <a href="http://wiki.apache.org/struts/">Struts wiki</a>.</li> + <li>Our dependencies on external JARs (including Commons JARs) should be in line with our own release status. Our nightly build can be dependant on another nightly build. Our beta can be dependant on another beta (or "release candidate"), but should avoid a dependance on a nightly build. + Our General Availability release may only have dependencies on other GA, final, or stable releases.</li> + <li>Use your own discretion as to detail needed by the Release Notes. A high-level description of the changes is more important than providing uninterpreted detail. At a minimum, new features and deprecations should be summarized, since these are commonly asked questions. Ideally, the release notes should be maintained continuously for the nightly build so that we they do not need to be assembled at the last minute.</li> + <li>Try building the distribution under prior version of J2SE, if possible, to ensure that we are still backwardly-compatible. But, our distributions should be built using the + <strong>latest production release of J2SE</strong>, to take advantage of all available compiler enhancements.</li> + <li>If you have multiple J2SE versions configured, run the JUnit and Cactus tests using the same configuration that will be used to build the distribution.</li> + <li>There is a "release" target in the buildfile that will zip and tar the distribution. Before uploading the distribution, extract the sample web applications and deploy the WARs under each of the "supported" containers (if you can). Play test each application under each container to be sure they operate nominally.</li> + <li>The test build can be posted to the internal distribution directory (cvs.apache.org/struts/) and announced to the Struts DEV and PMC lists (only!). Do not announce a test build on any other Apache lists or link to it from an Apache website.</li> + <li>If the test build is voted to Alpha, Beta, or GA status, the release can announced to the User list and linked from the website.</li> + <li>Any formal release may be submitted for mirroring. All GA releases <b>must</b> be mirrored.</li> + <li>After announcing a release, remember to update the Acquiring and Announcements pages. If the release is to be mirrored, wait at least 24 hours after submittal before making public announcements (as stated in the <a href="http://apache.org/dev/mirrors.html">Apache Mirroring guidelines</a>).</li> + <li>If a serious flaw if found in a test build or release, it may be withdrawn by a majority vote of the PMC and removed from ASF distribution channels.</li> </ul> </section> <section href="Coding" name="Coding Conventions and Guidelines"> @@ -97,10 +86,11 @@ <a href="http://sourceforge.net/projects/mockobjects">MockObjects project</a>.</li> <li>As files are updated from year to year, the copyright on each file should be extended to include the current year. <b>You do not need to change the copyright year unless you change the file.</b>Every source file should include the ASF copyright notice and current Apache License and copyright.</li> - <li>Provide high-level API compatibility for any changes made within the same major release series (#.x). Changes which adversely affect compatibility should be slotted for the next major release series (++#.x).</li> + <li>Provide high-level API compatibility for any changes made within the same major release series (#.x.x). Changes which adversely affect compatibility should be slotted for the next major release series (++#.x.x).</li> <li>Our favorite books about programming are - <a href="http://www.amazon.com/exec/obidos/ISBN=0201633612/hitchhikeguidetoA/">Design Patterns</a> and - <a href="http://www.amazon.com/exec/obidos/ISBN=0201485672/hitchhikeguidetoA/">Refactoring</a>.</li> + <a href="http://www.amazon.com/exec/obidos/ISBN=0201633612/hitchhikeguidetoA/">Design Patterns</a>, + <a href="http://www.amazon.com/exec/obidos/ISBN=0201485672/hitchhikeguidetoA/">Refactoring</a>, and + <a href="http://www.amazon.com/exec/obidos/ISBN=0735619670/hitchhikeguidetoA/">Code Complete</a> (2d).</li> <li>Our favorite book about open source development is the <a href="http://www.amazon.com/exec/obidos/ISBN=1565927249/hitchhikeguidetoA/">The Cathedral and the Bazaar</a>.</li> <li>Our favorite science fiction author is Modified: struts/trunk/doc/roadmap.xml ============================================================================== --- struts/trunk/doc/roadmap.xml (original) +++ struts/trunk/doc/roadmap.xml Sat Oct 23 03:28:17 2004 @@ -416,7 +416,7 @@ <li> - <a href="http://wiki.apache.org/struts/StrutsRelease124">Release Plan 1.2.4</a> + <a href="http://wiki.apache.org/struts/StrutsRelease125">Release Plan 1.2.5</a> </li> <li> @@ -433,7 +433,7 @@ </section> <section> - <p class="version">Website updated from repository: 2004 OCT 15 by husted.</p> + <p class="version">Website updated from repository: 2004 OCT 23 by husted.</p> <p class="version">Javadocs updated from repository: 2004 OCT 15 by husted.</p> </section> </chapter> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]