Notes on the MyFaces Core 2.0.0 Release

Release manager: Leonardo Uribe

Timeline

  • Proposed release date: 2010-04-17

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 snapshots:

        <dependency>
            <groupId>org.apache.myfaces.core</groupId>
            <artifactId>myfaces-api</artifactId>
            <version>2.0.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.apache.myfaces.core</groupId>
            <artifactId>myfaces-impl</artifactId>
            <version>2.0.0-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.1 Preparing test 1.0.0-beta-3

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

1.2 Preparing shared 4.0.1

  • 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 -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 -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 -Dresume=false

2. Preparing core 2.0.0

  • copied trunk to temporary work branch core/branches/2_0_0prepare
  • Set all dependencies to org.apache.myfaces.shared artifacts to version "4.0.1" instead 4.0.1-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 -DdryRun=true
  • Do it! -Dresume=false FAIL!
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/core/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=2_0_0 -Dresume=false
  • mvn install, mvn release:rollback and again SUCCESS!
  • Checkout 2_0_0 branch mvn install -DperformRelease=true

3. Deploy on local repo

  • shared 4.0.1 and myfaces-test 1.0.0-beta-3
mvn clean deploy -DperformRelease=true -DaltDeploymentRepository=myfaces-local-staging::default::scp://localhost/home/lu4242/stage/repo200 -Psign-artifacts -Dpassphrase=??? 
  • core 2.0.0
mvn clean deploy -DperformRelease=true -DaltDeploymentRepository=myfaces-local-staging::default::scp://localhost/home/lu4242/stage/repo200 -Psign-artifacts -Dpassphrase=??? -Pgenerate-assembly 

*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/repo200
   scp -p -r org lu4242@people.apache.org:/home/lu4242/public_html/myfaces200

4. JIRA Release Management

  • Create 2.0.0 and 2.0.0-SNAPSHOT versions
  • Find resolved issues and close them
  • Unresolved issues moved to 2.0.0-SNAPSHOT
  • Issues fixed on both 2.0.0 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-bin.tar.gz and zip,
cd 2_0_0
mvn install -Pgenerate-assembly
cd assembly
mvn package

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

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

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

7. VOTE

Hi,

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

The artifacts passed all TCK tests.

Please note that this vote concerns all of the following parts:
 1. Maven artifact group "org.apache.myfaces.shared" v4.0.1  [1]
 2. Maven artifact group "org.apache.myfaces.core" v2.0.0  [1]
 3. Maven artifact group "org.apache.myfaces.test" v1.0.0-beta-3 [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" 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/myfaces200
[2] http://www.apache.org/foundation/voting.html#ReleaseVotes
[3] http://people.apache.org/~lu4242/myfaces200binsrc
[4] https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10600&styleName=Html&version=12314890

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/myfaces200binsrc/sources
cp * /www/www.apache.org/dist/myfaces/source
cd /home/lu4242/public_html/myfaces200binsrc/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 and test 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=??? -Pgenerate-assembly 

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 Release

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

MyFaces Core is a JavaServer(tm) Faces 2.0 implementation as specified by JSR-314. MyFaces Core has passed Sun's JSR-314 TCK and is 100% compliant with the JSR-314 specification. 

MyFaces Core 2.0.0 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

Bug

    * [MYFACES-2361] - Add missing component system event dispatches
    * [MYFACES-2554] - myfaces's facelettaglibrary XSD incomplete
    * [MYFACES-2615] - Conversion errors should add a FacesMessage instead of throwing a FacesException
    * [MYFACES-2621] - BeanValidation does not work with Unified EL 2.2
    * [MYFACES-2622] - BeanValidator has to handle CompositeComponentExpressionHolder when resolving the ValueExpression
    * [MYFACES-2623] - validation-api and el-api 2.2 should be optional dependencies with scope compile in myfaces-api
    * [MYFACES-2624] - Automatically add h:messages if ProjectStage is Development
    * [MYFACES-2625] - TagLibrary using custom namespace fails to load composite component
    * [MYFACES-2626] - Application.createResource does not trip extension from resource name when try to resolve composite component class automatically
    * [MYFACES-2630] - HtmlBody 'onload' attribute encoding issues
    * [MYFACES-2631] - javax.faces.Messages.zh lacks two properties.
    * [MYFACES-2633] - Cannot set properties on custom composite component class when are implemented on getter/setter
    * [MYFACES-2636] - Need to check for null ValueExpression in _BeanValidatorUELUtils.getUELValueReferenceWrapper()
    * [MYFACES-2637] - Serious Bug! ajax cant work using multiple forms.
    * [MYFACES-2639] - Make org.apache.myfaces.REFRESH_TRANSIENT_BUILD_ON_PSS param = auto the default
    * [MYFACES-2641] - Use the application's ViewHandler to create the view in FaceletViewMetadata
    * [MYFACES-2643] - Update Google App Engine APT Doc
    * [MYFACES-2645] - The view state is saved before encodeAll() is called on every UIViewParameter in an AJAX request
    * [MYFACES-2646] - Missing unit test for application.createComponent(FacesContext context, Resource componentResource)
    * [MYFACES-2647] - MyFacesContainerInitializer doesn't check for null class name
    * [MYFACES-2649] - Ajax chokes on script triggered onchange if input has onchange=""
    * [MYFACES-2650] - chaining ajax onchange with existing onchange creates syntax error
    * [MYFACES-2654] - Trinidad ajax-branch does not work with MyFaces2
    * [MYFACES-2656] - Use UINamingContainer.getSeparatorChar instead NamingContainer.SEPARATOR_CHAR
    * [MYFACES-2657] - Already escaped apostrophes are double-escaped while building the ClientBehavior JavaScript
    * [MYFACES-2659] - TagDecorator in IMPL and API ...
    * [MYFACES-2661] - h:link render conversationContext param multiple times

Improvement

    * [MYFACES-2546] - Conversion rules for obtaing renderable String from the "value" property of SelectItem
    * [MYFACES-2658] - Indicate a better error when using Facelet TAGs on JSP(X) pages

New Feature

    * [MYFACES-2116] - TODO 65: Partial View Lifecycle
    * [MYFACES-2644] - IDE Tutorials for Myfaces 2 Google App Engine support

Task

    * [MYFACES-2124] - Enforce new API on UIViewRoot
    * [MYFACES-2183] - Integrate Facelets
    * [MYFACES-2323] - Implement <f:ajax> tag handler
    * [MYFACES-2329] - Add Facelet taglib 2.0 schema
    * [MYFACES-2619] - FacesContext.validationFailed() must be called on validation errors in validate()
    * [MYFACES-2648] - AbstractMyFacesListener is not needed anymore
    * [MYFACES-2653] - Fix implee6 include on code and clean myfaces impl pom.xml
    * [MYFACES-2660] - Review Facelets api usage

regards

Leonardo Uribe

  • No labels