Notes on the MyFaces Core 2.0.0-beta-2 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-2 snapshots:
<dependency> <groupId>org.apache.myfaces.core</groupId> <artifactId>myfaces-api</artifactId> <version>2.0.0-beta-2-SNAPSHOT</version> </dependency> <dependency> <groupId>org.apache.myfaces.core</groupId> <artifactId>myfaces-impl</artifactId> <version>2.0.0-beta-2-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 * 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 -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 -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 -Dresume=false
1.2 Preparing shared 4.0.1-beta-2
- 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_2 -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_2 -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_2 -Dresume=false
2. Preparing core 2.0.0-beta-2
- copied trunk to temporary work branch core/branches/2_0_0_beta_2prepare
- Set all dependencies to org.apache.myfaces.shared artifacts to version "4.0.1-beta-2" instead 4.0.1-beta-2-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_2 -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_2 -Dresume=false
- Checkout 2_0_0_beta_2 branch mvn install -DperformRelease=true
3. Deploy on local repo
*shared 4.0.1-beta-2 and core 2.0.0-beta-2
mvn clean deploy -DperformRelease=true -DaltDeploymentRepository=myfaces-local-staging::default::scp://localhost/home/lu4242/stage/repo200beta2 -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/repo200beta2 scp -p -r org lu4242@people.apache.org:/home/lu4242/public_html/myfaces200beta2
4. JIRA Release Management
- Create 2.0.0-beta-2 and 2.0.0-beta-2-SNAPSHOT versions
- Find resolved issues and close them
- Unresolved issues moved to 2.0.0-beta-2-SNAPSHOT
- Issues fixed on both 2.0.0-beta-2 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-2-bin.tar.gz and zip,
cd 2_0_0_beta_2 mvn install -Pgenerate-assembly cd assembly mvn package
- Create myfaces-core-2.0.0-beta-2-src.tar.gz and zip manually and create .asc .md5 .sha1 for bin and src
openssl md5 myfaces-core-2.0.0-beta-2-src.tar.gz > myfaces-core-2.0.0-beta-2-src.tar.gz.md5 openssl md5 myfaces-core-2.0.0-beta-2-src.zip > myfaces-core-2.0.0-beta-2-src.zip.md5 openssl sha1 myfaces-core-2.0.0-beta-2-src.tar.gz > myfaces-core-2.0.0-beta-2-src.tar.gz.sha1 openssl sha1 myfaces-core-2.0.0-beta-2-src.zip > myfaces-core-2.0.0-beta-2-src.zip.sha1 gpg --armor --output myfaces-core-2.0.0-beta-2-src.tar.gz.asc --detach-sig myfaces-core-2.0.0-beta-2-src.tar.gz gpg --armor --output myfaces-core-2.0.0-beta-2-src.zip.asc --detach-sig myfaces-core-2.0.0-beta-2-src.zip openssl md5 myfaces-core-2.0.0-beta-2-bin.tar.gz > myfaces-core-2.0.0-beta-2-bin.tar.gz.md5 openssl md5 myfaces-core-2.0.0-beta-2-bin.zip > myfaces-core-2.0.0-beta-2-bin.zip.md5 openssl sha1 myfaces-core-2.0.0-beta-2-bin.tar.gz > myfaces-core-2.0.0-beta-2-bin.tar.gz.sha1 openssl sha1 myfaces-core-2.0.0-beta-2-bin.zip > myfaces-core-2.0.0-beta-2-bin.zip.sha1 gpg --armor --output myfaces-core-2.0.0-beta-2-bin.tar.gz.asc --detach-sig myfaces-core-2.0.0-beta-2-bin.tar.gz gpg --armor --output myfaces-core-2.0.0-beta-2-bin.zip.asc --detach-sig myfaces-core-2.0.0-beta-2-bin.zip
- Copy to private account on people.apache.org
scp -p -r myfaces-core-2.0.0-beta-2-bin* lu4242@people.apache.org:/home/lu4242/public_html/myfaces200beta2binsrc/binaries scp -p -r myfaces-core-2.0.0-beta-2-src* lu4242@people.apache.org:/home/lu4242/public_html/myfaces200beta2binsrc/sources
7. VOTE
Hi, I was running the needed tasks to get the 2.0.0-beta-2 release of Apache MyFaces core out. This artifacts are very close to pass 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-beta-2 [1] 2. Maven artifact group "org.apache.myfaces.core" v2.0.0-beta-2 [1] 3. Maven artifact group "org.apache.myfaces.test" v1.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-2" 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/myfaces200beta2 [2] http://www.apache.org/foundation/voting.html#ReleaseVotes [3] http://people.apache.org/~lu4242/myfaces200beta2binsrc [4] https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10600&styleName=Html&version=12314539
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/myfaces200beta2binsrc/sources cp * /www/www.apache.org/dist/myfaces/source cd /home/lu4242/public_html/myfaces200beta2binsrc/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=???
- SVN Tags for projects
http://svn.apache.org/repos/asf/myfaces/shared/tags/4_0_1_beta_2/
http://svn.apache.org/repos/asf/myfaces/core/tags/2_0_0_beta_2/ - Site deploy for shared and core (mvn site:site and mvn site:deploy)
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-2 Release The Apache MyFaces team is pleased to announce the release of MyFaces Core 2.0.0-beta-2. MyFaces Core is a JavaServer(tm) Faces 2.0 implementation as specified by JSR-314. MyFaces Core 2.0.0-beta-2 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-2 Bug * [MYFACES-2480] - @ResourceDependencies does not work on custom behaviors * [MYFACES-2500] - ResponseWriter clone should not include itself * [MYFACES-2507] - onClick on commandLink does not trigger loading of required jsf.js * [MYFACES-2516] - Allow any child for f:event in the case of a PreRenderViewEvent * [MYFACES-2517] - Problem with flash and GET * [MYFACES-2520] - UnsupportedOperationException when launching Trinidad 2 w/ MyFaces2 in Jetty * [MYFACES-2522] - f:event wrong attribute name * [MYFACES-2525] - Split javax.faces package in OSGi * [MYFACES-2526] - javax.faces.view.facelets.ResourceResolver support * [MYFACES-2527] - Support for decorator design pattern: RenderKit(s) * [MYFACES-2530] - ActionSourceRule does not deal with jsf 1.1 ActionSouce instances * [MYFACES-2532] - getClientId() should not be called from listener registering tree changes on DefaultFaceletsStateManagementStrategy and PostAddToViewEvent * [MYFACES-2533] - FaceletViewDeclarationLanguage call StateManager.saveView() before write document * [MYFACES-2534] - ComponentSupport.addFacet adds a panel when there is only one component as a child * [MYFACES-2535] - view-param on navigation case redirects not being handled properly * [MYFACES-2537] - FacesConfigurator.sortRelativeOrderingList() algorithm is broken trying to resolve some examples * [MYFACES-2540] - Facelets server state saving does not work * [MYFACES-2541] - Support for actionlistener method without ActionEvent parameter * [MYFACES-2544] - UIViewRoot skips uncorrectly encodeBegin * [MYFACES-2547] - FacesConfigurator absolute ordering does not handle files with no name correctly * [MYFACES-2551] - Set charset=iso-8859-1 using <f:view> in facelets page makes current page not being rendered * [MYFACES-2553] - Handle MethodExpressions on <composite:attribute> correctly * [MYFACES-2556] - FaceletViewDeclarationLanguage should use javax.faces.event.ActionEvent instead of java.awt.event.ActionEvent * [MYFACES-2557] - AbortProcessingExceptions must be handled by the ExceptionHandler * [MYFACES-2558] - composite:attributes action, actionListener, validator and valueChangeListener don't need the attribute method-signature Improvement * [MYFACES-2510] - Remove RendererUtils.NOTHING * [MYFACES-2545] - ProjectStage can be set via System Property and ProjectStage!=Production should create a log entry * [MYFACES-2548] - META-INF resource lookup in OSGi environment * [MYFACES-2549] - Support for valueChangeListener method without ValueChangeEvent parameter New Feature * [MYFACES-2531] - Support for name/library attributes with h:commandButton * [MYFACES-2542] - Don't throw exception if no SelectItems found Task * [MYFACES-2483] - Find a way to allow c:if work with partial state saving enabled * [MYFACES-2502] - Component state is lost for composite component childs of facets relocated by composite:insertChildren or composite:insertFacet * [MYFACES-2503] - f:event should support no arg method on listener attribute * [MYFACES-2511] - Handle javax.faces.validator.DISABLE_DEFAULT_BEAN_VALIDATOR correctly * [MYFACES-2512] - Ensure invocation of nextHandler.apply() in ValidatorTagHandlerDelegate when in wrapping-mode * [MYFACES-2514] - An empty <default-validators> in faces-config should disable default validators * [MYFACES-2518] - BeanValidator should not be installed if bean validation is not available * [MYFACES-2519] - f:event could be registered twice if it is child of UIViewRoot * [MYFACES-2524] - Change ExternalSpecifications to enable using it in automated tests * [MYFACES-2538] - Remove resourceVersion and libraryVersion from resource identifiers regards Leonardo Uribe