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 2010/04/14 01:16:52 UTC

[Myfaces Wiki] Update of "CoreRelease200" by LeonardoUribe

Dear Wiki user,

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

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

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

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

 Release manager: Leonardo Uribe

== Timeline ==

 * Proposed release date: 2010-04-17

=== 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.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 ==
<<Anchor(tasks)>>

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

== 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 SUCCESS!
{{{
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/core/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=2_0_0 -Dresume=false
}}}
  * Checkout 2_0_0 branch mvn install -DperformRelease=true

3. Deploy on local repo

   *shared 4.0.1 and core 2.0.0
{{{
mvn clean deploy -DperformRelease=true -DaltDeploymentRepository=myfaces-local-staging::default::scp://localhost/home/lu4242/stage/repo200 -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/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.

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=12314776
}}}

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 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/
       http://svn.apache.org/repos/asf/myfaces/core/tags/2_0_0/

  * 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 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 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-2529] - use of view-param in faces-config causes a NoSuchMethodExcepion for addViewParam
    * [MYFACES-2536] - converterId and validatorId should not be required
    * [MYFACES-2543] - Facelets Taglib jars are not recognized
    * [MYFACES-2555] - org.apache.myfaces.config.annotation.LifecycleProvider context parameter is ignored
    * [MYFACES-2560] - Known class name for EL RI's ExpressionFactoryImpl is wrong
    * [MYFACES-2561] - StackOverflowError if a composite component implementation uses another composite component
    * [MYFACES-2563] - Trinidad 1.2.x generates on POSTBACK a NullPointerException on MyFAces2
    * [MYFACES-2564] - facelets in an app with a 1.2 level faces-config do not work
    * [MYFACES-2565] - BeanValidator throws Exception if external ExpressionLanguageFactory is being used
    * [MYFACES-2567] - Log indicates Tomahawk starting even if Tomahawk is not on the classpath
    * [MYFACES-2569] - setResourceHandler, setViewHandler and setStateManager must throw illegalStateException if called after at least one request has been processed by the Lifecycle instance
    * [MYFACES-2570] - FaceletVDL.retargetMethodExpressions() should use ActionSource2 instead of ActionSource
    * [MYFACES-2571] - converter, validator and actionListener tags nested in a composite component without a for attribute should throw a TagException
    * [MYFACES-2572] - MyFaces should release the "dummy" FacesContext created during startup/shutdown
    * [MYFACES-2573] - NavigationHandler decoration/delegation not supported in 2.0.0-beta2
    * [MYFACES-2574] - InterfaceHandler stores the componentType as the resolved value instead of the ValueExpression
    * [MYFACES-2577] - Multiple client behaviors confuse the jsf.util.chain function
    * [MYFACES-2578] - When using ui:repeat and inputText with attributes that are 'nullable' (for example date attributes) they cannot be set to null by entering an empty String ("")
    * [MYFACES-2580] - OSGi: Missing javax.validation imports in api module manifest
    * [MYFACES-2581] - double slash breaks new prefix mapping (/faces//faces/*) - CTS failure
    * [MYFACES-2583] - f:ajax cannot retrieve clientId from component
    * [MYFACES-2591] - buildBehaviorChain() should also check the ClientBehaviors for the second eventName for submitting
    * [MYFACES-2592] - UIViewParameter.decode() should set the submitted value only if it is not null
    * [MYFACES-2593] - styles are escaped so that @import *.css doesn't work
    * [MYFACES-2598] - UIViewParameter does not get an automatic id
    * [MYFACES-2600] - @PostConstruct does not work
    * [MYFACES-2601] - java.lang.NoSuchFieldException when MyFaces and Mojarra are on the classpath
    * [MYFACES-2603] - Incorrect web-facesconfig_2_0.xsd
    * [MYFACES-2605] - java.lang.LinkageError loader constraint violation: loader (instance of org/mortbay/jetty/webapp/WebAppClassLoader) previously initiated loading for a different type with name "javax/el/ExpressionFactory"
    * [MYFACES-2608] - f:event type="preRenderView" not resolved
    * [MYFACES-2609] - f:event type throws ClassNotFoundException for type 'preRenderView'
    * [MYFACES-2610] - h:link not being rendered correctly when disabled - no value shown
    * [MYFACES-2611] - UIComponentBase.getFacetsAndChildren() must not access the component's facets and children directly
    * [MYFACES-2613] - ExternalSpecifications has an import from javax.validation api, and this one should be optional
    * [MYFACES-2614] - EnumConverter uses toString() instead of name()

Improvement

    * [MYFACES-2559] - Google App Engine Support for Myfaces 2
    * [MYFACES-2575] - Replace RequestMap with FacesContext.getAttributes() where possible

New Feature

    * [MYFACES-2579] - Support the dynamic adding of servlets and servlet-mappings on Servlet API 3.0 to make web.xml entries for Faces Servlet not mandatory

Task

    * [MYFACES-2568] - Panel created to hold resource on UIViewRoot is transient
    * [MYFACES-2607] - Ugly NPE in CompositeFunctionMapper.resolveFunction() if second FunctionMapper is null

regards

Leonardo Uribe

}}}