You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by Apache Wiki <wi...@apache.org> on 2014/01/07 18:19:49 UTC

[Myfaces Wiki] Update of "CoreRelease220" by LeonardoUribe

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Myfaces Wiki" for change notification.

The "CoreRelease220" page has been changed by LeonardoUribe:
https://wiki.apache.org/myfaces/CoreRelease220

New page:
== Notes on the MyFaces Core 2.2.0 Release ==

 Release manager: Leonardo Uribe

== Timeline ==

 * Proposed release date: 2013-10-30

=== Issues ===


=== Testing ===
<<Anchor(testing)>>

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

Download a nightly build of the distribution assemblies:
 * http://people.apache.org/builds/myfaces/nightly/

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 snapshots:
{{{
        <dependency>
            <groupId>org.apache.myfaces.core</groupId>
            <artifactId>myfaces-api</artifactId>
            <version>2.2.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.apache.myfaces.core</groupId>
            <artifactId>myfaces-impl</artifactId>
            <version>2.2.0-SNAPSHOT</version>
        </dependency>}}}

'''Note:''' Maven 2.2.0 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 ==
<<Anchor(tasks)>>

 
== Proposed Release Announcement ==
<<Anchor(releasenotes)>>
{{{
}}}

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

      Follow the guide on http://www.apache.org/dev/publishing-maven-artifacts.html

1. Preparing shared 4.2.1

  * 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
}}}
  * Try -DdryRun=true SUCCESS

{{{
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/tags -DdryRun=true
}}}

   * Release it! FAIL

{{{
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
}}}

   * Stage the release for a vote

{{{
mvn release:perform -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/tags
}}}

2. Preparing core 2.2.0


  * Try -DdryRun=true SUCCESS

{{{
mvn clean install
mvn install -Pgenerate-assembly -Papache-release
mvn release:prepare -DprepareRelease=true -DdryRun=true
}}}

   * Release it! FAIL

{{{
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
}}}

   * Stage the release for a vote

{{{
mvn release:perform -DperformRelease=true
}}}

  * Checkout generated tag mvn install -DperformRelease=true

4. JIRA Release Management

   * Create 2.1.1 and 2.1.1-SNAPSHOT versions
   * Find resolved issues and close them
   * Unresolved issues moved to 2.1.1-SNAPSHOT
   * Issues fixed on both 2.1.1, 2.0.6 should be saved on a text file to add it later.

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.2.0-bin.tar.gz and zip, 
{{{

mvn install -Pgenerate-assembly
cd assembly
mvn package

}}}

   * Create myfaces-core-2.2.0-src.tar.gz and zip manually and create .asc .md5 .sha1 for bin and src

{{{

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

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

}}}

   * Copy to private account on people.apache.org

{{{
scp -p -r myfaces-core-2.2.0-bin* lu4242@people.apache.org:/home/lu4242/public_html/myfaces220binsrc/binaries
scp -p -r myfaces-core-2.2.0-src* lu4242@people.apache.org:/home/lu4242/public_html/myfaces220binsrc/sources
}}}

  * ALTERNATIVE: get it from nexus maven repository:

{{{
cd /home/lu4242/public_html/myfaces220binsrc/binaries

wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-034/org/apache/myfaces/core/myfaces-core-assembly/2.2.0/myfaces-core-assembly-2.2.0-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/myfaces-core-assembly-2.2.0-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/myfaces-core-assembly-2.2.0-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/myfaces-core-assembly-2.2.0-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/myfaces-core-assembly-2.2.0-bin.zip
wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-034/org/apache/myfaces/core/myfaces-core-assembly/2.2.0/myfaces-core-assembly-2.2.0-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/myfaces-core-assembly-2.2.0-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/myfaces-core-assembly-2.2.0-bin.zip.sha1

cd /home/lu4242/public_html/myfaces220binsrc/sources

wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-034/org/apache/myfaces/core/myfaces-core-assembly/2.2.0/myfaces-core-assembly-2.2.0-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/myfaces-core-assembly-2.2.0-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/myfaces-core-assembly-2.2.0-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/myfaces-core-assembly-2.2.0-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/myfaces-core-assembly-2.2.0-src.zip
wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-034/org/apache/myfaces/core/myfaces-core-assembly/2.2.0/myfaces-core-assembly-2.2.0-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/myfaces-core-assembly-2.2.0-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/myfaces-core-assembly-2.2.0-src.zip.sha1

}}}

7. VOTE

{{{
Hi,

I was running the needed tasks to get the 2.2.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.2.1  [1]
 2. Maven artifact group "org.apache.myfaces.core" v2.2.0  [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" 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/myfaces220binsrc
[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

   * copy on /www/www.apache.org/dist/myfaces/source and /www/www.apache.org/dist/myfaces/binaries

{{{
cd /home/lu4242/public_html/myfaces220binsrc/sources
cp * /www/www.apache.org/dist/myfaces/source
cd /home/lu4242/public_html/myfaces220binsrc/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 

}}}

  * 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.2.0 Release

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

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

MyFaces Core 2.2.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".

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

}}}