You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4php-dev@logging.apache.org by Curt Arnold <ca...@apache.org> on 2008/01/08 08:39:08 UTC

Development snapshot available

I've placed a snapshot assembly (equivalent .tar.gz and .zip) at http://people.apache.org/builds/logging/log4php 
.  Knut had mentioned off-list that he was having problems producing  
an assembly, so I put one out there for review.  Over the last two  
days, I think that I have addressed all the policy issues (license  
notices, incubation notices, et al).

For background, you should review:

http://incubator.apache.org/guides/releasemanagement.html
http://incubator.apache.org/guides/branding.html
http://incubator.apache.org/incubation/Incubation_Policy.html#Releases

The release management document briefly describes the different  
approaches to version identification used in various ASF projects.   
The term "Release Candidate" can be used in two significantly  
different meanings, so you need to be clear which meaning is intended:

1. Anything that the ASF releases (that is, anything that is intended  
for use by end-users as opposed to nightly builds, etc) requires a  
vote.  A vote requires some "candidate" to vote to approve or reject  
as a release, so any artifact presented for a vote may be called a  
release candidate even if the intended release is to be designated an  
"alpha" or "beta".  This type of "release candidate" is not intended  
to be distributed to end-users.  If the vote passes the archive file  
name is changed from "apache-foo-1.2.7-RC1.tar.gz" to "apache- 
foo-1.2.7.tar.gz" and the file moved to http://www.apache.org/dist.   
If the vote fails, the "release candidate" is deleted.

2. An indication of the release quality and compatibility guarantees  
higher that "alpha" and "beta".  In this sense, a release candidate is  
intended to be distributed to end-users and has almost the highest  
level of quality and compatibility.

When I use the term release candidate, it is typically in the first  
sense.  If I had to use the second sense, I might call it a gamma.

The alpha and beta designations are used differently in different  
projects.  I believe the httpd project uses "alpha", "beta" and  
"general availability" as mutable descriptions of an immutable release  
identified with a numeric release version.  So httpd 2.2.6 might first  
be a beta and then if not significant issues are found it might become  
general availability.   If there are problems, then httpd 2.2.7 would  
be built and released as a beta.

Other projects will combine a numeric version and an "alpha" or  
"beta", so you'd have log4j 1.3alpha8 as the 8th alpha version leading  
to an eventual intended log4j 1.3 (FYI: log4j 1.3 is abandoned).

Major numbers often imply compatibility guarantees, so the first of a  
new major version may be significant.

With that all in mind, the project will need to agree on a version  
naming strategy before preparing anything for release.  Options I see  
are:

1. Use 1.9.x for releases prior to establishing compatibility promises  
with 2.0.

2. Use 2.0alpha or 2.0beta for releases prior to establishing 2.0.

Building the assembly should be fairly simple (it still needs to be  
refined)

Install Maven 2, PHP 5.x, PHPDocumentor and PHPUnit

Run "mvn site assembly:assembly" which will check all PHP files for  
syntax errors, run PHPUnit tests, generate web site and PHPDocumentor  
generated content and prepare assemblies in the target directory.