Release manager: Leonardo Uribe
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.2.0-beta snapshots:
<dependency> <groupId>org.apache.myfaces.core</groupId> <artifactId>myfaces-api</artifactId> <version>2.2.0-beta-SNAPSHOT</version> </dependency> <dependency> <groupId>org.apache.myfaces.core</groupId> <artifactId>myfaces-impl</artifactId> <version>2.2.0-beta-SNAPSHOT</version> </dependency> |
Note: Maven 2.2.0-beta 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.)
}}} == Diary == <<Anchor(diary)>> Follow the guide on http://www.apache.org/dev/publishing-maven-artifacts.html 1. Preparing shared 4.2.0 * Change shared/core/pom.xml variable to mirror updated shared copy from core and run from shared root path {{{ mvn clean install -Dsynch-shared=true |
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/tags -DdryRun=true |
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/tags -Dresume=false mvn install mvn release:rollback mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/tags -Dresume=false |
Note: Preparing the release will create the new tag in SVN, automatically checking in on your behalf.
Note: If you're located in Europe then release:prepare may fail with 'Unable to tag SCM' and 'svn: No such revision X'. Wait 10 seconds and run mvn release:prepare again.
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/tags |
mvn release:perform -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/tags |
2. Preparing core 2.2.0-beta
mvn clean install mvn install -Pgenerate-assembly -Papache-release mvn release:prepare -DprepareRelease=true -DdryRun=true |
mvn release:prepare -DprepareRelease=true -Dresume=false mvn install mvn install -Pgenerate-assembly -Papache-release mvn release:rollback -DprepareRelease=true mvn release:prepare -DprepareRelease=true -Dresume=false |
Note: Preparing the release will create the new tag in SVN, automatically checking in on your behalf.
Note: If you're located in Europe then release:prepare may fail with 'Unable to tag SCM' and 'svn: No such revision X'. Wait 10 seconds and run mvn release:prepare again.
mvn release:prepare -DprepareRelease=true |
mvn release:perform -DperformRelease=true |
4. JIRA Release Management
5. Next step is the TCK
TCK passed confirmed by Leonardo Uribe
6. Generate assembly
mvn install -Pgenerate-assembly cd assembly mvn package |
openssl md5 myfaces-core-2.2.0-beta-src.tar.gz > myfaces-core-2.2.0-beta-src.tar.gz.md5 openssl md5 myfaces-core-2.2.0-beta-src.zip > myfaces-core-2.2.0-beta-src.zip.md5 openssl sha1 myfaces-core-2.2.0-beta-src.tar.gz > myfaces-core-2.2.0-beta-src.tar.gz.sha1 openssl sha1 myfaces-core-2.2.0-beta-src.zip > myfaces-core-2.2.0-beta-src.zip.sha1 gpg --armor --output myfaces-core-2.2.0-beta-src.tar.gz.asc --detach-sig myfaces-core-2.2.0-beta-src.tar.gz gpg --armor --output myfaces-core-2.2.0-beta-src.zip.asc --detach-sig myfaces-core-2.2.0-beta-src.zip openssl md5 myfaces-core-2.2.0-beta-bin.tar.gz > myfaces-core-2.2.0-beta-bin.tar.gz.md5 openssl md5 myfaces-core-2.2.0-beta-bin.zip > myfaces-core-2.2.0-beta-bin.zip.md5 openssl sha1 myfaces-core-2.2.0-beta-bin.tar.gz > myfaces-core-2.2.0-beta-bin.tar.gz.sha1 openssl sha1 myfaces-core-2.2.0-beta-bin.zip > myfaces-core-2.2.0-beta-bin.zip.sha1 gpg --armor --output myfaces-core-2.2.0-beta-bin.tar.gz.asc --detach-sig myfaces-core-2.2.0-beta-bin.tar.gz gpg --armor --output myfaces-core-2.2.0-beta-bin.zip.asc --detach-sig myfaces-core-2.2.0-beta-bin.zip |
scp -p -r myfaces-core-2.2.0-beta-bin* lu4242@people.apache.org:/home/lu4242/public_html/myfaces220betabinsrc/binaries scp -p -r myfaces-core-2.2.0-beta-src* lu4242@people.apache.org:/home/lu4242/public_html/myfaces220betabinsrc/sources |
cd /home/lu4242/public_html/myfaces220betabinsrc/binaries wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-034/org/apache/myfaces/core/myfaces-core-assembly/2.2.0-beta/myfaces-core-assembly-2.2.0-beta-bin.tar.gz wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-034/org/apache/myfaces/core/myfaces-core-assembly/2.2.0-beta/myfaces-core-assembly-2.2.0-beta-bin.tar.gz.asc wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-034/org/apache/myfaces/core/myfaces-core-assembly/2.2.0-beta/myfaces-core-assembly-2.2.0-beta-bin.tar.gz.md5 wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-034/org/apache/myfaces/core/myfaces-core-assembly/2.2.0-beta/myfaces-core-assembly-2.2.0-beta-bin.tar.gz.sha1 wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-034/org/apache/myfaces/core/myfaces-core-assembly/2.2.0-beta/myfaces-core-assembly-2.2.0-beta-bin.zip wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-034/org/apache/myfaces/core/myfaces-core-assembly/2.2.0-beta/myfaces-core-assembly-2.2.0-beta-bin.zip.asc wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-034/org/apache/myfaces/core/myfaces-core-assembly/2.2.0-beta/myfaces-core-assembly-2.2.0-beta-bin.zip.md5 wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-034/org/apache/myfaces/core/myfaces-core-assembly/2.2.0-beta/myfaces-core-assembly-2.2.0-beta-bin.zip.sha1 cd /home/lu4242/public_html/myfaces220betabinsrc/sources wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-034/org/apache/myfaces/core/myfaces-core-assembly/2.2.0-beta/myfaces-core-assembly-2.2.0-beta-src.tar.gz wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-034/org/apache/myfaces/core/myfaces-core-assembly/2.2.0-beta/myfaces-core-assembly-2.2.0-beta-src.tar.gz.asc wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-034/org/apache/myfaces/core/myfaces-core-assembly/2.2.0-beta/myfaces-core-assembly-2.2.0-beta-src.tar.gz.md5 wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-034/org/apache/myfaces/core/myfaces-core-assembly/2.2.0-beta/myfaces-core-assembly-2.2.0-beta-src.tar.gz.sha1 wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-034/org/apache/myfaces/core/myfaces-core-assembly/2.2.0-beta/myfaces-core-assembly-2.2.0-beta-src.zip wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-034/org/apache/myfaces/core/myfaces-core-assembly/2.2.0-beta/myfaces-core-assembly-2.2.0-beta-src.zip.asc wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-034/org/apache/myfaces/core/myfaces-core-assembly/2.2.0-beta/myfaces-core-assembly-2.2.0-beta-src.zip.md5 wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-034/org/apache/myfaces/core/myfaces-core-assembly/2.2.0-beta/myfaces-core-assembly-2.2.0-beta-src.zip.sha1 |
7. VOTE
Hi, I was running the needed tasks to get the 2.2.0-beta 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.2.0 [1] 2. Maven artifact group "org.apache.myfaces.core" v2.2.0-beta [1] The artifacts were deployed on nexus repo [1] and to my private Apache account [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.2.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] https://repository.apache.org/content/repositories/orgapachemyfaces-034/org/apache/myfaces/ [2] http://www.apache.org/foundation/voting.html#ReleaseVotes [3] http://people.apache.org/~lu4242/myfaces220betabinsrc [4] https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10600&version=12324571 |
8. Clirr report to check binary incompatibilities success
9. Vote closed, starting distribution
cd /home/lu4242/public_html/myfaces220betabinsrc/sources cp * /www/www.apache.org/dist/myfaces/source cd /home/lu4242/public_html/myfaces220betabinsrc/binaries cp * /www/www.apache.org/dist/myfaces/binaries |
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=??? |
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
Subject: [ANNOUNCE] MyFaces Core v2.2.0-beta Release The Apache MyFaces team is pleased to announce the release of MyFaces Core 2.2.0-beta. MyFaces Core is a JavaServer(tm) Faces 2.2 implementation as specified by JSR-334. MyFaces Core 2.2.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". Sub-task [MYFACES-3654] - implement small threadsafe Random algorithm [MYFACES-3741] - Implement CDI Flow Scope [MYFACES-3742] - Implement @FlowDefinition annotation [MYFACES-3764] - Implement FlowHandler.getLastDisplayedViewId(FacesContext context) logic [MYFACES-3765] - Implement FlowHandler.clientWindowTransition(FacesContext context) [MYFACES-3788] - Improve log message in RendererUtils.getClientId with component location Bug [MYFACES-2799] - JSF 2.1: jsf.js viewstate handling does not entirely work out (bug filed on the spec tracker [MYFACES-3648] - some jsf files contain illegal UTF characters [MYFACES-3649] - myfaces-shaded-impl always unpacks myfaces-2.1.1 [MYFACES-3650] - myfaces-2.2.x poms not properly set up [MYFACES-3657] - 2.2 branch: checkstyle violation prevents compile [MYFACES-3671] - jsf-uncompressed.js contains 'import' of not existing file '_FinalizeableObj.js' [MYFACES-3697] - Error while parsing Facelet-Lib hides the real reason when logging [MYFACES-3698] - h:body onload and onunload attributes rendered twice if optimization enabled [MYFACES-3739] - @ResourceDependency annotation + JSF 1.2 state saving + c:if (dynamic section) creates components on each click (UIViewRoot grows) [MYFACES-3758] - Check for responseComplete or renderResponse only if a phase listeners is used [MYFACES-3773] - ui:repeat with offset and size does not behave as expected [MYFACES-3781] - f:view tag must be processed when view metadata is created [MYFACES-3802] - CDI FlowBuilderFactoryBean declares javax.faces.bean.ApplicationScoped (JSF managed bean annotation) Improvement [MYFACES-3768] - FacesMessage Severity ordinal values are not consistent with Mojarra RI [MYFACES-3774] - [perf] use facetName as a hint when try to find a component on refresh view algorithm [MYFACES-3775] - [perf] optional early flush [MYFACES-3776] - [perf] cache FacesContext at ClientBehaviorBase level [MYFACES-3777] - [perf] minimize FacesContext.getCurrentInstance() in some new points [MYFACES-3778] - [perf] cache url and request path for default Resource implementations [MYFACES-3787] - Make WRAP_SCRIPT_CONTENT_WITH_XML_COMMENT_TAG=false default New Feature [MYFACES-3588] - window-id support [MYFACES-3706] - jsf.js jsf22, implement resetValues on the JS side of things [MYFACES-3723] - JSF 2.2: Support parameter javax.faces.SERIALIZE_SERVER_STATE [MYFACES-3725] - JSF 2.2: Custom webapp resources dir with javax.faces.WEBAPP_RESOURCES_DIRECTORY [MYFACES-3797] - cdi support for converters and validators Task [MYFACES-3674] - Implement f:viewAction [MYFACES-3676] - Implement FlashFactory and related events [MYFACES-3677] - Implement 'javax.faces.WEBAPP_RESOURCES_DIRECTORY' [MYFACES-3678] - Add ActionListenerWrapper class [MYFACES-3679] - Implement javax.faces.application.ApplicationConfigurationPopulator [MYFACES-3681] - Implement CollectionDataModel [MYFACES-3682] - Implement Client Side Request Forgery protection [MYFACES-3683] - Implement AjaxBehavior resetValues and delay [MYFACES-3684] - UIViewParameter.getSubmittedValue() return value can be Object in JSF 2.2 spec [MYFACES-3685] - Implement f:attributes facelet tag [MYFACES-3686] - Implement f:passThroughAttribute and f:passThroughAttributes [MYFACES-3688] - Implement ExternalContext.getSessionId() [MYFACES-3691] - Implement Faces Flows [MYFACES-3692] - Implement jsf:element tag and default TagDecorator [MYFACES-3693] - Implement ExternalContext.getApplicationContextPath() [MYFACES-3694] - Add httpOnly to ExternalContext.addResponseCookie(...) [MYFACES-3701] - Restoring view scope before view is build [MYFACES-3714] - Implement stateless mode using f:view "transient" attribute [MYFACES-3716] - Implement h:inputFile [MYFACES-3717] - Implement "role" attribute in related components and renderers [MYFACES-3718] - Replace http://java.sun.com/jsf with http://xmlns.jcp.org/jsf [MYFACES-3729] - Implement resource library contracts specification [MYFACES-3730] - Implement ViewDeclarationLanguageWrapper [MYFACES-3733] - Implement vdl.createComponent(...) [MYFACES-3734] - Implement @FacesComponent createTag, namespace and tagName attributes [MYFACES-3738] - Add media attribute to h:outputStylesheet [MYFACES-3740] - ResourceResolver "this" identifier applies for contracts too in JSF 2.2 [MYFACES-3747] - Implement new JSF 2.2 ViewScope specification [MYFACES-3750] - Allow to reference composite components directly from facelets taglib file using <resource-id> [MYFACES-3753] - CompositeComponentELResolver map containsKey() should take into account default values [MYFACES-3754] - Update PartialViewContext and PartialResponseWriter to new spec [MYFACES-3755] - Show detail message on title of tooltip when showDetail is set or is available for h:message or h:messages [MYFACES-3756] - @FacesComponent and @FacesValidator value are now optional [MYFACES-3757] - Implement passthrough attributes using p:<attributeName> [MYFACES-3759] - Implement @FaceletsResourceResolver annotation [MYFACES-3761] - Implement html5 doctype on facelets compiler [MYFACES-3770] - Implement <f:resetValues> tag and <f:ajax resetValues=true ... > [MYFACES-3771] - h:commandButton renderer now can have children [MYFACES-3783] - Use tree visiting to pss algorithm in 2.2.x [MYFACES-3784] - Add EL 3 ELResolvers when they are available [MYFACES-3785] - RendererWrapper logic (@ListenerFor and @ResourceDependency) [MYFACES-3786] - Web Container injection support should be provided for additional lifecycle artifacts (not just managed beans) [MYFACES-3801] - Passthrough attributes does not require URI encoding like in writeURIAttribute regards, Leonardo Uribe |