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 2011/02/09 00:30:47 UTC

[Myfaces Wiki] Update of "CoreRelease204" by LeonardoUribe

Dear Wiki user,

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

The "CoreRelease204" page has been changed by LeonardoUribe.
http://wiki.apache.org/myfaces/CoreRelease204

--------------------------------------------------

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

 Release manager: Leonardo Uribe

== Timeline ==

 * Proposed release date: 2011-02-11

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

  * Try -DdryRun=true SUCCESS

{{{
mvn release:prepare -DdryRun=true
}}}

   * Release it! FAIL

{{{
mvn release:prepare -Dresume=false
mvn install
mvn release:rollback
mvn release:prepare -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
}}}

   * Stage the release for a vote

{{{
mvn release:perform
}}}

2. Preparing core 2.0.4


  * Try -DdryRun=true SUCCESS

{{{
mvn clean install
mvn install -Pgenerate-assembly
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.0.4 and 2.0.5-SNAPSHOT versions
   * Find resolved issues and close them
   * Unresolved issues moved to 2.0.5-SNAPSHOT
   * Issues fixed on both 2.0.4, 1.2.10, 1.1.9 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.0.4-bin.tar.gz and zip, 
{{{

cd 2_0_2
mvn install -Pgenerate-assembly
cd assembly
mvn package

}}}

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

{{{

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

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

}}}

   * Copy to private account on people.apache.org

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

  * ALTERNATIVE: get it from nexus maven repository:

{{{
cd /home/lu4242/public_html/myfaces203binsrc/binaries

wget https://repository.apache.org/content/repositories/orgapachemyfaces-012/org/apache/myfaces/core/myfaces-core-assembly/2.0.4/myfaces-core-assembly-2.0.4-bin.tar.gz
wget https://repository.apache.org/content/repositories/orgapachemyfaces-012/org/apache/myfaces/core/myfaces-core-assembly/2.0.4/myfaces-core-assembly-2.0.4-bin.tar.gz.asc
wget https://repository.apache.org/content/repositories/orgapachemyfaces-012/org/apache/myfaces/core/myfaces-core-assembly/2.0.4/myfaces-core-assembly-2.0.4-bin.tar.gz.md5
wget https://repository.apache.org/content/repositories/orgapachemyfaces-012/org/apache/myfaces/core/myfaces-core-assembly/2.0.4/myfaces-core-assembly-2.0.4-bin.tar.gz.sha1
wget https://repository.apache.org/content/repositories/orgapachemyfaces-012/org/apache/myfaces/core/myfaces-core-assembly/2.0.4/myfaces-core-assembly-2.0.4-bin.zip
wget https://repository.apache.org/content/repositories/orgapachemyfaces-012/org/apache/myfaces/core/myfaces-core-assembly/2.0.4/myfaces-core-assembly-2.0.4-bin.zip.asc
wget https://repository.apache.org/content/repositories/orgapachemyfaces-012/org/apache/myfaces/core/myfaces-core-assembly/2.0.4/myfaces-core-assembly-2.0.4-bin.zip.md5
wget https://repository.apache.org/content/repositories/orgapachemyfaces-012/org/apache/myfaces/core/myfaces-core-assembly/2.0.4/myfaces-core-assembly-2.0.4-bin.zip.sha1

cd /home/lu4242/public_html/myfaces203binsrc/sources

wget https://repository.apache.org/content/repositories/orgapachemyfaces-012/org/apache/myfaces/core/myfaces-core-assembly/2.0.4/myfaces-core-assembly-2.0.4-src.tar.gz
wget https://repository.apache.org/content/repositories/orgapachemyfaces-012/org/apache/myfaces/core/myfaces-core-assembly/2.0.4/myfaces-core-assembly-2.0.4-src.tar.gz.asc
wget https://repository.apache.org/content/repositories/orgapachemyfaces-012/org/apache/myfaces/core/myfaces-core-assembly/2.0.4/myfaces-core-assembly-2.0.4-src.tar.gz.md5
wget https://repository.apache.org/content/repositories/orgapachemyfaces-012/org/apache/myfaces/core/myfaces-core-assembly/2.0.4/myfaces-core-assembly-2.0.4-src.tar.gz.sha1
wget https://repository.apache.org/content/repositories/orgapachemyfaces-012/org/apache/myfaces/core/myfaces-core-assembly/2.0.4/myfaces-core-assembly-2.0.4-src.zip
wget https://repository.apache.org/content/repositories/orgapachemyfaces-012/org/apache/myfaces/core/myfaces-core-assembly/2.0.4/myfaces-core-assembly-2.0.4-src.zip.asc
wget https://repository.apache.org/content/repositories/orgapachemyfaces-012/org/apache/myfaces/core/myfaces-core-assembly/2.0.4/myfaces-core-assembly-2.0.4-src.zip.md5
wget https://repository.apache.org/content/repositories/orgapachemyfaces-012/org/apache/myfaces/core/myfaces-core-assembly/2.0.4/myfaces-core-assembly-2.0.4-src.zip.sha1

}}}

7. VOTE

{{{
Hi,

I was running the needed tasks to get the 2.0.4 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.4  [1]
 2. Maven artifact group "org.apache.myfaces.core" v2.0.4  [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.0.4" 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-012/org/apache/myfaces/core/
    https://repository.apache.org/content/repositories/orgapachemyfaces-011/org/apache/myfaces/shared/
[2] http://www.apache.org/foundation/voting.html#ReleaseVotes
[3] http://people.apache.org/~lu4242/myfaces203binsrc
[4] https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10600&styleName=Html&version=12315976
}}}

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

}}}

  * SVN Tags for projects
       http://svn.apache.org/repos/asf/myfaces/shared/tags/4_0_3/
       http://svn.apache.org/repos/asf/myfaces/core/tags/2_0_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.4 Release

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

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.4 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.4 

Sub-task

    * [MYFACES-2867] - Migrate to Velocity 1.6
    * [MYFACES-2974] - Use FacesConfig interfaces to load configuration using annotations
    * [MYFACES-2975] - NamedEventManager should be configured per web application, and do not use a static instance
    * [MYFACES-2977] - Factories loaded through META-INF/services/[factory name] should use FacesConfig object

Bug

    * [MYFACES-1890] - Numberconverter has issue with bigdecimal
    * [MYFACES-2606] - javax.crypto.BadPaddingException on Google App Engine
    * [MYFACES-2882] - 3.4.2.6 Event Broadcasting: processing events during the current lifecycle phase doesn't process additional events
    * [MYFACES-2920] - UISelectOne/UISelectMany validateValue: Before comparing each option, coerce the option value type to the type of component's value
    * [MYFACES-2927] - Invalid handling of null values in listboxes and menus
    * [MYFACES-2928] - FacesConfigurator cast for ApplicationImpl directly to load converter configuration, instead use RuntimeConfig object
    * [MYFACES-2930] - ClassByteCodeAnnotationFilter doesn't read the constants pool correctly
    * [MYFACES-2934] - Side-channel timing attack in StateUtils class may still allow padding oracle attack
    * [MYFACES-2935] - SystemEvent Acid Test
    * [MYFACES-2939] - f:event type=postValidate does not work
    * [MYFACES-2941] - Facelets classpath does not always properly decode filesystem paths
    * [MYFACES-2942] - Memory Leak in MyFaces 2.0.1 probably as well in 2.0.2
    * [MYFACES-2946] - composite:attribute "targets" property does not match with ViewDeclarationLanguage.retargetMethodExpressions
    * [MYFACES-2947] - application configuration resources located in lib/*.jar can not be accessed in OSGi enviroment
    * [MYFACES-2948] - invokeOnComponent does not call pushComponentToEL / popComponentFromEL like visitTree does
    * [MYFACES-2950] - ActionSourceRule does not take into account "action" MethodExpression could return Object or Enum
    * [MYFACES-2954] - ExternalContext.encodeRedirectURL() fails if 'baseUrl' contains empty parameters
    * [MYFACES-2960] - Setting prependId="false" (on h:form) makes <f:ajax/> not working with any ActionSource
    * [MYFACES-2964] - Incorect osgi Import-Package in impl
    * [MYFACES-2965] - MyFaces 2.0.2 AJAX crashes Safari on iPad
    * [MYFACES-2969] - Example number used by f:convertNumber messages are not formatted taking into account locale and parameters.
    * [MYFACES-2970] - f:convertNumber conversion is not symmetric when currencyCode and currencySymbol are used
    * [MYFACES-2971] - jsf.js: Slightly incorrect http get handling code
    * [MYFACES-2973] - UIComponent.unsubscribeFromEvent calls getApplication().unsubscribeFromEvent() instead of modifying _systemEventListenerClassMap
    * [MYFACES-2978] - DefaultFaceletFactory fails to create a facelet if the facelet-path contains regex control characters
    * [MYFACES-2980] - f:ajax wrapped around component(s) does not work as expected
    * [MYFACES-2982] - Update localized javax.faces.Messages.properties
    * [MYFACES-2983] - Consider using myfaces class's classloader when loading resources
    * [MYFACES-2984] - Myfaces should return a proper contentType if ResourceWrapper doesn't return one.
    * [MYFACES-2985] - Viewscoped bean does not get destroyed when navigating with faces-redirect to a non-jsf-page
    * [MYFACES-2990] - JDTCompiler wants access to more classes in osgi
    * [MYFACES-2991] - NPE from rendering button with missing resource URL
    * [MYFACES-2992] - Metadata is not created for views created by a navigation
    * [MYFACES-2993] - state saving and dynamic pages
    * [MYFACES-2994] - faces-config.xml referenced in webAppConfig <absolute-ordering> could not be on the classpath
    * [MYFACES-2996] - ServiceProviderFinder from init param is never cached on ApplicationMap
    * [MYFACES-3000] - Viewstate occasionally not restored

Improvement

    * [MYFACES-2224] - Misleading hint in error message for NFE in BigDecimalConverter
    * [MYFACES-2862] - [PERF] Improve efficiency of Application.createComponent(FacesContext,Resource) in production
    * [MYFACES-2922] - [PERF] Improvements for @ResourceDependency handling
    * [MYFACES-2936] - Add new utility class for init parameters WebConfigParamUtils
    * [MYFACES-2937] - Change getApplicationObject function name to buildApplicationObject and move it to shared ClassUtils
    * [MYFACES-2938] - Allow @JSFValidator and @JSFConverter to define custom tagHandler class
    * [MYFACES-2940] - Use VisitContext information for prevent scan a component subtree on NamingContainer instances
    * [MYFACES-2944] - Make those add*** methods public in WebXml
    * [MYFACES-2945] - Make a way to get the FacesConfig from a provider
    * [MYFACES-2951] - [PERF] enhance scanning for #{cc} expressions
    * [MYFACES-2952] - Improve Atmosphere Meteor support of MyFaces
    * [MYFACES-2955] - Allow projects using myfaces builder plugin to be open on Netbeans IDE 6.8
    * [MYFACES-2957] - Use maven shade plugin to handle myfaces-impl-ee6 module
    * [MYFACES-2958] - Improve handling of AJAX response if source element is deleted
    * [MYFACES-2963] - Set default templates automatically when jsfVersion is 20 or 2.0 with myfaces-builder-plugin
    * [MYFACES-2966] - jsf.js impl request function refactoring
    * [MYFACES-2967] - jsf.js i18n of internal error messages
    * [MYFACES-2976] - Support hiding myfaces impl classes in osgi, and provide a single osgi bundle for api + impl
    * [MYFACES-2986] - Provide an interface to override how to find spi interfaces

Task

    * [MYFACES-2943] - DefaultLifecycleProviderFactory does not log LifecycleProvider Class correctly
    * [MYFACES-2997] - Clean up SpiUtils

regards,

Leonardo Uribe

}}}