Notes on the MyFaces Core 1.2.1 Release

Release manager: Leonardo Uribe

Timeline

  • Release process for Core 1.2.1 not yet started
  • Nightly builds are available (see Testing)
  • Proposed release date: 2007-12-16

Issues

Testing

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

The 1.2.x trunk gets built nightly, and the jarfiles deployed to the Apache Maven2 snapshot repository. You can therefore always download the latest jars here:
http://people.apache.org/repo/m2-snapshot-repository/org/apache/myfaces/core

If you are using maven 2.x for building your own application, then you can just configure this repository:

Configure a <repository> for Maven 2:

        <repository>s
           <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 1.2.1 snapshots:

        <dependency>
            <groupId>org.apache.myfaces.core</groupId>
            <artifactId>myfaces-api</artifactId>
            <version>1.2.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.apache.myfaces.core</groupId>
            <artifactId>myfaces-impl</artifactId>
            <version>1.2.1-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.)

Distribution bundles are generated nightly for some MyFaces projects and made available here:

However this isn't yet working for myfaces-core (either 1.1.x or 1.2.x). Hopefully that will come soon..

Tasks

Proposed Release Announcement

}}}

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

1. Download http://www.apache.org/dist/myfaces/KEYS, add my GPG and replace this file on /www/www.apache.org/dist/myfaces

{{{
scp KEYS lu4242@people.apache.org:/www/www.apache.org/dist/myfaces

2. Preparing shared 3.0.1

  • Trying to prepare FAIL!. There is a dependency of myfaces api on 1.2.1-SNAPSHOT, so when it try to resolve to 1.2.1 there is a problem because we

are trying to release this version.

mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=3_0_1 -DdryRun=true

[INFO] Can't release project due to non released dependencies :
    org.apache.myfaces.core:myfaces-api:jar:1.2.1-SNAPSHOT:provided
in project 'MyFaces Shared Project' (org.apache.myfaces.shared:myfaces-shared-project:pom:3.0.1-SNAPSHOT)

  • After asking and thinking about the previous point, the solution is point it to 1.2.0 while myfaces 1.2.1 is released, then switch back.
  • Trying to prepare SUCCESS!.
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=3_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=3_0_1 -Dresume=false

        [INFO] Unable to find artifact.

    Embedded error: Unable to download the artifact from any repository

    Try downloading the file manually from the project website.

    Then, install it using the command:
            mvn install:install-file -DgroupId=org.apache.myfaces.shared -DartifactId=myfaces-shared-core \
                -Dversion=3.0.1 -Dclassifier=sources -Dpackaging=jar -Dfile=/path/to/file
        Alternatively, if you host your own repository you can deploy the file there:     mvn deploy:deploy-file -DgroupId=org.apache.myfaces.shared -DartifactId=myfaces-shared-core \
                -Dversion=3.0.1 -Dclassifier=sources -Dpackaging=jar -Dfile=/path/to/file \
                 -Durl=[url] -DrepositoryId=[id]


          org.apache.myfaces.shared:myfaces-shared-core:jar:3.0.1

  • Let's try with -o to avoid try to download artifacts from any repo. FAIL! mvn release:rollback.
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=3_0_1 -Dresume=false -o
  • Install the jars of myfaces-shared-core 3.0.1 on the local repo to avoid this.
cd core
cd target
mvn install:install-file -DgroupId=org.apache.myfaces.shared -DartifactId=myfaces-shared-core -Dversion=3.0.1 -Dclassifier=sources -Dpackaging=jar -Dfile=myfaces-shared-core-3.0.1-sources.jar
  • Try again SUCCESS!
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=3_0_1 -Dresume=false 
  • dependency versions automatically updated, so there is no need to fix it manually.
  • checkout 3_0_1 branch and deploy it FAIL
mvn clean deploy -Psign-artifacts -Dpassphrase=??? 

[INFO] Error deploying artifact: Error executing command for transfer

Exit code 255 - Warning: Identity file /home/leonardo/.ssh/id_rsa not accessible: No such file or directory.
Permission denied (publickey,keyboard-interactive).

  • change local user to match user on people.apache.org and try again FAIL
  • do first on local repo, then copy it on people.apache.org SUCCESS
mvn clean deploy -DaltDeploymentRepository=myfaces-local-staging::default::scp://localhost/home/lu4242/stage/repo -Psign-artifacts -Dpassphrase=???

3. Let's rollback all, create shared/branches/3_0_1prepare and core/branches/1_2_1prepare to avoid change trunks directores (better release and translate changes manually on trunk).

  • Fix all scm urls on poms manually to point on proper repo.

4. Preparing share 3.0.1 again

  • -DdryRun=true SUCCESS!
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=3_0_1 -DdryRun=true
  • Do it! -Dresume=false SUCCESS!
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=3_0_1 -Dresume=false
  • Checkout 3.0.1 branch and install on local repository

5. Preparing core 1.2.1

  • Already copied trunk to temporary work branch core/branches/1_2_1prepare
  • Set all dependencies to org.apache.myfaces.shared artifacts to version "3.0.1" (instead of 3.0.1-SNAPSHOT)
  • -DdryRun=true SUCCESS!
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/core/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=1_2_1 -DdryRun=true
  • Do it! -Dresume=false FAIL!
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/core/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=1_2_1 -Dresume=false

        [ERROR] BUILD ERROR
        [INFO] ------------------------------------------------------------------------
        [INFO] Failed to resolve artifact.

    Missing:
        ----------
        1) org.apache.myfaces.core:myfaces-api:jar:tests:1.2.1

      Try downloading the file manually from the project website.

  • try a mvn install, then mvn release:rollback an try again SUCCESS!. But the release was created on core/tags, not on core/branches. The same happens with shared. Maybe this happens because I create a branch for prepare this. Checking the log says:
[maven-release-plugin]  copy for tag 3_0_1
  • let's delete shared/branches/3_0_1 and move tags/3_0_1 and tags/1_2_1 to branches manually. Remeber fix SCM properties on pom.xml
  • checkout shared/branches/3_0_1 and core/branches/1_2_1, change shared/branches/3_0_1/pom.xml to point to myfaces-1.2.1 instead 1.2.0, mvn clean install on both twice to ensure no refs on myfaces-1.2.0

6. Deploy shared and core on local repo

  • release shared 3.0.1 SUCCESS
mvn clean deploy -DaltDeploymentRepository=myfaces-local-staging::default::scp://localhost/home/lu4242/stage/repo -Psign-artifacts -Dpassphrase=??? 
  • release core 1.2.1 SUCCESS
mvn clean deploy -DaltDeploymentRepository=myfaces-local-staging::default::scp://localhost/home/lu4242/stage/repo -Psign-artifacts -Dpassphrase=??? 
   cd home/lu4242/stage/repo
   scp -p -r org lu4242@people.apache.org:/home/lu4242/public_html/myfaces121

7. Some bug fixes made, so we need to do all steps again from, starting from copy trunks to prepare paths and try again

  • rename shared/branches/3_0_1 and shared/branches/3_0_1prepare and core/branches/1_2_1 and core/branches/1_2_1 append old1 to its name
  • copy trunk to prepare

8. Preparing share 3.0.1 again

  • -DdryRun=true SUCCESS!
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=3_0_1 -DdryRun=true
  • Do it! -Dresume=false SUCCESS!
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=3_0_1 -Dresume=false
  • Checkout 3.0.1 branch and install on local repository

9. Preparing core 1.2.1

  • Set all dependencies to org.apache.myfaces.shared artifacts to version "3.0.1" (instead of 3.0.1-SNAPSHOT)
  • remove snapshot plugin dependences
  • -DdryRun=true SUCCESS!
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/core/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=1_2_1 -DdryRun=true
  • -Dresume=false SUCCESS!
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/core/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=1_2_1 -Dresume=false
  • Checkout 1.2.1 branch and install on local repository

10. Deploy shared and core on local repo

  • release shared 3.0.1 SUCCESS
mvn clean deploy -DaltDeploymentRepository=myfaces-local-staging::default::scp://localhost/home/lu4242/stage/repo -Psign-artifacts -Dpassphrase=??? 
  • release core 1.2.1 SUCCESS
mvn clean deploy -DaltDeploymentRepository=myfaces-local-staging::default::scp://localhost/home/lu4242/stage/repo -Psign-artifacts -Dpassphrase=??? 

#

11. JIRA release management (1.2.1-SNAPSHOT --> 1.2.1)

  • Add a new version 1.2.1 to the core project
  • Add a new version 1.2.2-SNAPSHOT to the core project
  • Do a bulk change for all resolved issues with version fixed as 1.2.1-SNAPSHOT and change to 1.2.1
  • Do a bulk change for all resolved (but not closed) in 1.2.1 and close them
  • Archive the 1.2.1-SNAPSHOT version

12. Vote while TCK test passes

13. Errors on trunk and need to release org.apache.myfaces.trinidadbuild maven-faces-plugin

14. Preparing trinidad-maven plugins

  • -DdryRun=true SUCCESS!
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/trinidad-maven/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=lu4242-126-release -DdryRun=true
  • -Dresume=false FAIL!
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/trinidad-maven/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=lu4242-126-release -Dresume=false

        [ERROR] BUILD ERROR
        [INFO] -----------------------------------------------------------------
-------
        [INFO] Failed to resolve artifact.

    Missing:
        ----------
        1) org.apache.myfaces.trinidadbuild:maven-faces-plugin:jar:1.2.6

  • mvn install, mvn release:rollback and again SUCCESS!!!
  • move tag subdir created to branches
  • Correct SCM properties

15. Deploy as written in POM SUCCESS!!

mvn clean source:jar install deploy -DaltDeploymentRepository=myfaces-local-staging::default::scp://localhost/home/lu4242/stage/repot -Prelease

16. Move LICENSE and NOTICE to META-INF folder in trunk SUCCESS!!!

17. Rename again on core prepare and others to do all tasks again (The changes previously done affects just core release and not shared, so shared is fine)

18. Preparing core 1.2.1

  • Copy trunk-1.2.x on prepare
  • Set all dependencies to org.apache.myfaces.shared artifacts to version "3.0.1" (instead of 3.0.1-SNAPSHOT)
  • Set all dependencies to org.apache.myfaces.trinidadbuild artifacts to version "1.2.6" (instead of 1.2.6-SNAPSHOT)
  • Commit on prepare
  • -DdryRun=true SUCCESS!
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/core/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=1_2_1 -DdryRun=true
  • -Dresume=false SUCCESS!
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/core/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=1_2_1 -Dresume=false
  • Checkout 1.2.1 branch and install on local repository

19. Deploy shared and core on local repo

  • release shared 3.0.1 SUCCESS
mvn clean deploy -DaltDeploymentRepository=myfaces-local-staging::default::scp://localhost/home/lu4242/stage/repo -Psign-artifacts -Dpassphrase=??? 
  • release core 1.2.1 SUCCESS
mvn clean deploy -DaltDeploymentRepository=myfaces-local-staging::default::scp://localhost/home/lu4242/stage/repo -Psign-artifacts -Dpassphrase=??? 
   cd home/lu4242/stage/repo
   scp -p -r org lu4242@people.apache.org:/home/lu4242/public_html/myfaces121

20. JIRA release management

  • Add MYFACES-1790 to 1.2.1 fix version
  • Find issues fixed with no fix version but that belongs to JSF 1.2, attach to 1.2.1 and close them.

21. Message on vote to announce fix for these two problems

Hi,

I was running the needed tasks to get the 1.2.1 release of Apache
MyFaces core out. This mail is to make clear that the vote still
continues and the problems
discussed before already has been solved.

Please note that this vote concerns all of the following parts:
 1. Maven artifact group "org.apache.myfaces.shared" v3.0.1  [1]
 2. Maven artifact group "org.apache.myfaces.core" v1.2.1  [1]

The artifacts are deployed to my private Apache account ([1]).

Please take a look at the "1.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] http://people.apache.org/~lu4242/myfaces121
[2] http://www.apache.org/foundation/voting.html#ReleaseVotes

22. Vote for maven trinidad plugins

Hi,

I was running the needed tasks to get the 1.2.6 release of Trinidad
Plugins out.

This task is necessary for release Myfaces 1.2.1, because it uses faces plugin.

Please note that this vote concerns all of the following parts:
 1. Maven artifact group "org.apache.myfaces.trinidadbuild" v 1.2.6 [1]

The artifacts are deployed to my private Apache account ([1]).

Please take a look at the "1.2.6" 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/trinidad-build126
[2] http://www.apache.org/foundation/voting.html#ReleaseVotes

23. Ok +1 votes necessary to release, so close vote and start distribution

24. Generate assembly

  • Try to do it automatically javadoc and other stuff SUCCESS. It generate myfaces-core-1.2.1-bin.tar.gz and zip,
cd 1_2_1
mvn install -Pgenerate-assembly
cd assembly
mvn assembly:assembly -Psign-artifacts -Dpassphrase=??? 

  • Create myfaces-core-1.2.1-src.tar.gz and zip manually and create .asc .md5 .sha1 for bin and src
openssl md5 myfaces-core-1.2.1-src.tar.gz > myfaces-core-1.2.1-src.tar.gz.md5
openssl md5 myfaces-core-1.2.1-src.zip > myfaces-core-1.2.1-src.zip.md5
openssl sha1 myfaces-core-1.2.1-src.tar.gz > myfaces-core-1.2.1-src.tar.gz.md5
openssl sha1 myfaces-core-1.2.1-src.zip > myfaces-core-1.2.1-src.zip.sha1
gpg --armor --output myfaces-core-1.2.1-src.tar.gz.asc --detach-sig myfaces-core-1.2.1-src.tar.gz
gpg --armor --output myfaces-core-1.2.1-src.zip.asc --detach-sig myfaces-core-1.2.1-src.zip

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

25. Vote closed trinidad plugins, starting distribution

  • Oh problem. I cannot have rights to access /www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/myfaces/, so I cannot
    finalize the release procedure.

26. JIRA release managment

  • Release 1.2.6-plugins on JIRA

27. Vote closed myfaces core, starting distribution

  • copy on /www/www.apache.org/dist/myfaces/source and /www/www.apache.org/dist/myfaces/binaries
cd /home/lu4242/public_html/sources
cp * /www/www.apache.org/dist/myfaces/source
cd /home/lu4242/public_html/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
  • copy core on /www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/myfaces/core FAIL Permissions
  • SVN tags for projects done

28. Rollback changes because TCK did not pass.

  • Rollback poms
  • Rollback tags
  • Rollback copy on m2-ibiblio-rsync-repository
  • No labels