Notes on the MyFaces Core 2.0.0-beta Release

Release manager: Leonardo Uribe

Timeline

  • Proposed release date: 2010-01-26

Issues

Testing

Here's how you can help us test the distribution.

Download a nightly build of the distribution assemblies:

Configure a <repository> for Maven 2:

        <repository>
           <id>apache.snapshots</id>
           <name>Apache Snapshot Repository</name>
           <url>http://people.apache.org/repo/m2-snapshot-repository</url>
        </repository>

And declare a dependency on the 2.0.0-beta snapshots:

        <dependency>
            <groupId>org.apache.myfaces.core</groupId>
            <artifactId>myfaces-api</artifactId>
            <version>2.0.0-beta-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.apache.myfaces.core</groupId>
            <artifactId>myfaces-impl</artifactId>
            <version>2.0.0-beta-SNAPSHOT</version>
        </dependency>

Note: Maven 2.0.4 will not download a new version if one is already present in your local repository. You will need to delete $M2_REPO/org/apache/myfaces/core to force Maven to download the new version. (Usually, $M2_REPO is <your home directory>/.m2/repository .)

Test your application, then, let us know the results (good or bad!) on dev at myfaces.apache.org. (You must be subscribed to post. See: http://myfaces.apache.org/mail-lists.html.)

Tasks

Proposed Release Announcement

}}}

== Diary ==
<<Anchor(diary)>>

1. Preparing shared 4.0.1-beta

    * Trying to prepare SUCCESS!.
{{{
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=4_0_1_beta -DdryRun=true
  • Release it! FAIL.
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=4_0_1_beta -Dresume=false
  • mvn install, mvn release:rollback and try again SUCCESS!
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=4_0_1_beta -Dresume=false

2. Preparing core 2.0.0-beta

  • copied trunk to temporary work branch core/branches/2_0_0_betaprepare
  • Set all dependencies to org.apache.myfaces.shared artifacts to version "4.0.1-beta" instead 4.0.1-beta-SNAPSHOT
  • -DdryRun=true SUCCESS!
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/core/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=2_0_0_beta -DdryRun=true
  • Do it! -Dresume=false SUCCESS!
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/core/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=2_0_0_beta -Dresume=false
  • Checkout 2_0_0_beta branch mvn install -DperformRelease=true

3. Deploy on local repo

*shared 4.0.1-beta and core 2.0.0-beta

mvn clean deploy -DperformRelease=true -DaltDeploymentRepository=myfaces-local-staging::default::scp://localhost/home/lu4242/stage/repo200beta -Psign-artifacts -Dpassphrase=??? 

*copy manually using scp to the account on people.apache.org. Due to a bug on linux [WWW] http://jira.codehaus.org/browse/MDEPLOY-62 deploy not work on linux. SUCCESS

   cd home/lu4242/stage/repo200beta
   scp -p -r org lu4242@people.apache.org:/home/lu4242/public_html/myfaces200beta

4. JIRA Release Management

  • Create 2.0.0-beta and 2.0.0-beta-SNAPSHOT versions
  • Find resolved issues and close them
  • Unresolved issues moved to 2.0.0-beta-SNAPSHOT
  • Issues fixed on both 2.0.0-beta and 1.1.7 should be saved on a text file to add it later on release of 1.1.7

5. Next step is the TCK
TCK passed confirmed by Leonardo Uribe

6. Generate assembly

  • Try to do it automatically javadoc and other stuff SUCCESS. It generate myfaces-core-2.0.0-beta-bin.tar.gz and zip,
cd 2_0_0_beta
mvn install -Pgenerate-assembly
cd assembly
mvn package

  • Create myfaces-core-2.0.0-beta-src.tar.gz and zip manually and create .asc .md5 .sha1 for bin and src
openssl md5 myfaces-core-2.0.0-beta-src.tar.gz > myfaces-core-2.0.0-beta-src.tar.gz.md5
openssl md5 myfaces-core-2.0.0-beta-src.zip > myfaces-core-2.0.0-beta-src.zip.md5
openssl sha1 myfaces-core-2.0.0-beta-src.tar.gz > myfaces-core-2.0.0-beta-src.tar.gz.sha1
openssl sha1 myfaces-core-2.0.0-beta-src.zip > myfaces-core-2.0.0-beta-src.zip.sha1
gpg --armor --output myfaces-core-2.0.0-beta-src.tar.gz.asc --detach-sig myfaces-core-2.0.0-beta-src.tar.gz
gpg --armor --output myfaces-core-2.0.0-beta-src.zip.asc --detach-sig myfaces-core-2.0.0-beta-src.zip

openssl md5 myfaces-core-2.0.0-beta-bin.tar.gz > myfaces-core-2.0.0-beta-bin.tar.gz.md5
openssl md5 myfaces-core-2.0.0-beta-bin.zip > myfaces-core-2.0.0-beta-bin.zip.md5
openssl sha1 myfaces-core-2.0.0-beta-bin.tar.gz > myfaces-core-2.0.0-beta-bin.tar.gz.sha1
openssl sha1 myfaces-core-2.0.0-beta-bin.zip > myfaces-core-2.0.0-beta-bin.zip.sha1
gpg --armor --output myfaces-core-2.0.0-beta-bin.tar.gz.asc --detach-sig myfaces-core-2.0.0-beta-bin.tar.gz
gpg --armor --output myfaces-core-2.0.0-beta-bin.zip.asc --detach-sig myfaces-core-2.0.0-beta-bin.zip

  • Copy to private account on people.apache.org
scp -p -r myfaces-core-2.0.0-beta-bin* lu4242@people.apache.org:/home/lu4242/public_html/myfaces200betabinsrc/binaries
scp -p -r myfaces-core-2.0.0-beta-src* lu4242@people.apache.org:/home/lu4242/public_html/myfaces200betabinsrc/sources

7. VOTE

Hi,

I was running the needed tasks to get the 2.0.0-beta release of Apache
MyFaces core out.

This artifacts are very close to pass all TCK tests. Some corrections has been
done from the latest proposed artifacts.

Please note that this vote concerns all of the following parts:
 1. Maven artifact group "org.apache.myfaces.shared" v4.0.1-beta  [1]
 2. Maven artifact group "org.apache.myfaces.core" v2.0.0-beta  [1]

The artifacts are deployed to my private Apache account ([1] and [3] for binary and source packages).

The release notes could be found at [4].

Also the clirr test does not show binary incompatibilities with myfaces-api.

Please take a look at the "2.0.0-beta" artifacts and vote!

Please note: This vote is "majority approval" with a minimum of three
+1 votes (see [3]).

------------------------------------------------
[ ] +1 for community members who have reviewed the bits
[ ] +0
[ ] -1 for fatal flaws that should cause these bits not to be released,
 and why..............
------------------------------------------------

Thanks,
Leonardo Uribe

[1] http://people.apache.org/~lu4242/myfaces200beta
[2] http://www.apache.org/foundation/voting.html#ReleaseVotes
[3] http://people.apache.org/~lu4242/myfaces200betabinsrc
[4] https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10600&styleName=Html&version=12314537

8. Clirr report to check binary incompatibilities success

9. Vote closed, starting distribution

  • copy on /www/www.apache.org/dist/myfaces/source and /www/www.apache.org/dist/myfaces/binaries
cd /home/lu4242/public_html/myfaces200betabinsrc/sources
cp * /www/www.apache.org/dist/myfaces/source
cd /home/lu4242/public_html/myfaces200betabinsrc/binaries
cp * /www/www.apache.org/dist/myfaces/binaries
  • copy shared on /www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/myfaces/shared SUCCESS
Alternative for manual copy:

mvn clean deploy -DaltDeploymentRepository=myfaces-staging::default::scpexe://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository -Psign-artifacts -DperformRelease=true -Dpassphrase=???

  • copy core on /www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/myfaces/core SUCCESS
Alternative for manual copy:

mvn clean deploy -DaltDeploymentRepository=myfaces-staging::default::scpexe://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository -Psign-artifacts -DperformRelease=true -Dpassphrase=???

10. Announce

  • Sent announcement mail
    • To: announce@apache.org, announce@myfaces.apache.org
    • Cc: dev@myfaces.apache.org, users@myfaces.apache.org
  • Sent announcement to jcp-open@apache.org (Necessary for TCK certified releases)
Subject: [ANNOUNCE] MyFaces Core v2.0.0-beta Release

The Apache MyFaces team is pleased to announce the release of MyFaces Core 2.0.0-beta.

MyFaces Core is a JavaServer(tm) Faces 2.0 implementation as specified by JSR-314. 

MyFaces Core 2.0.0-beta is available in both binary and source distributions.

    * http://myfaces.apache.org/download.html

MyFaces Core is also available in the central Maven repository under Group ID "org.apache.myfaces.core".

Release Notes - MyFaces Core - Version 2.0.0-beta

Bug

    * [MYFACES-2356] - HtmlRadioRendererBase calls converter method getAsString() not with the object, but with the string version when an validation error occured
    * [MYFACES-2396] - @PreDestroy method of Bean in CustomScope not invoked
    * [MYFACES-2410] - f:validateBean does not work as container for EditableValueHolders
    * [MYFACES-2429] - Missing localePrefix for resources is not ignored
    * [MYFACES-2430] - Button image url rendered wrong for resources
    * [MYFACES-2431] - NotSerializableException on state serialization
    * [MYFACES-2432] - InsertChildrenHandler.RelocateAllChildrenListener throws IndexOutOfBoundsException
    * [MYFACES-2434] - dummy request/response classes for system event listeners will break with Servlet 3.0
    * [MYFACES-2436] - BeanValidator stops on null value (@NotNull not checked)
    * [MYFACES-2437] - columnClasses must not be rendered if colums > columnClasses
    * [MYFACES-2445] - NPE on rendering outcome target links
    * [MYFACES-2447] - PhaseListeners not invoked correctly
    * [MYFACES-2450] - ViewHandler.deriveViewId must check is viewId really exists
    * [MYFACES-2453] - f:view is ignored by facelets
    * [MYFACES-2457] - f:selectItem "escape" property not bound in facelets
    * [MYFACES-2462] - <ui:debug /> is not working
    * [MYFACES-2468] - MyFaces needs to support adding a <view-handler> in faces-config.xml
    * [MYFACES-2469] - Invalid outcome gives NPE
    * [MYFACES-2472] - Missing return in UIComponent.EventListenerWrapper
    * [MYFACES-2474] - Fix navigation handler algorithm for redirects
    * [MYFACES-2475] - Visit facets in UIComponent.visitTree()
    * [MYFACES-2476] - @this in render not resolved on ajax request
    * [MYFACES-2477] - Ajax related fixes for command components
    * [MYFACES-2481] - Wrong property name in payload for ajax callback functions
    * [MYFACES-2482] - Use Error instead of Exception in Ajax Js Impl
    * [MYFACES-2484] - public final void pushComponentToEL(FacesContext context, UIComponent component) crashes if component is null
    * [MYFACES-2488] - PreRenderViewEvent-listeners could change UIViewRoot or set responseComplete
    * [MYFACES-2498] - Myfaces should be able to gracefully handle a runtime with the bean validation API on the classpath but no impl
    * [MYFACES-2499] - f:validateBean disabled="true" not processed correctly
    * [MYFACES-2501] - f:validateBean should only use the validationGroups from the stack, if its validationGroups property is null or an empty string
    * [MYFACES-2506] - @ManagedBean doesn't work with missing scope annotation

Improvement

    * [MYFACES-2435] - f:facet can have more than one child
    * [MYFACES-2444] - Implement new JSF 2 c:set features
    * [MYFACES-2464] - Find a way to do not use ELExpressions on jsf.js for getProjectStage

Task

    * [MYFACES-2363] - ExceptionHandler implementation requires deal with ajax responses
    * [MYFACES-2368] - Update Render Response Phase to new spec
    * [MYFACES-2417] - h:commandButton and h:commandLink now can be rendered outside a form
    * [MYFACES-2418] - Implement h:selectManyXXX collectionType and hideNoSelectionOption
    * [MYFACES-2423] - h:dataTable renderer does not support colgroups facet
    * [MYFACES-2425] - JSTL Functions returns null instead ""
    * [MYFACES-2426] - UISelectItem itemEscaped should return true as default
    * [MYFACES-2427] - Composite Component not bound when calling ValueExpression from broadcast
    * [MYFACES-2428] - Id generation for facelets cause problems with htmlunit 2.4 or lower
    * [MYFACES-2438] - h:selectOneRadio can't render HTML.NBSP_ENTITY before start label text
    * [MYFACES-2446] - ExceptionHandlerImpl is not correct
    * [MYFACES-2448] - Wrappers created in 1.2 version should wrap new methods added in 2.0
    * [MYFACES-2449] - ManagedBeanResolver and ScopedAttributeResolver could be called before UIViewRoot is available
    * [MYFACES-2451] - Add @JSFWebConfigParam annotation to new parameters in JSF 2.0
    * [MYFACES-2454] - Adapt default error page generation to new spec
    * [MYFACES-2455] - ClientBehaviorHolder interface should be tracked by myfaces-builder-plugin metadata
    * [MYFACES-2456] - Interfaces should be tracked on myfaces builder plugin
    * [MYFACES-2459] - PreJsf2ExceptionHandlerImpl not correct
    * [MYFACES-2460] - Add Resource Headers and allow EL Expressions only on css files
    * [MYFACES-2465] - PreJsf2ExceptionHandlerFactory should create new instances of PreJsf2ExceptionHandlerImpl for each call to getExceptionHandler()
    * [MYFACES-2487] - DeltaList does not deal correctly with transient objects
    * [MYFACES-2493] - ViewMetadata facelets compiler should not output DTD, <?xml or any UIInstruction outside f:metadata
    * [MYFACES-2494] - Component branches saved with PSS needs to be wrapped
    * [MYFACES-2496] - Provide a method to find out if a facelets TagHandler has children or not
    * [MYFACES-2505] - ComponentHandler.isNew requires deal with composite components

regards

Leonardo Uribe

  • No labels