The Ultimate MyFaces Release HowTo

On this page we want to collect all essential information that is necessary to release a MyFaces project.


MyFaces releases are done by means of the Maven release plugin. For being able to use it you have to install several external tools first.

External tools


Basics (or "How to release MyFaces Master POM")

Obviously the simplest MyFaces project is the MyFaces Master POM. It consists of nothing more than a single pom.xml file. So it is perfect for showing the basic procedure of releasing.

Release candidate

  1. Make sure that you have no local modifications or even better: do a clean checkout from the SVN repo.

  2. mvn release:prepare -Dusername=YOURUSERNAME -Dpassword=YOURPASSWORD

    • During the prepare run you will be asked three questions (release version, tag name, next snapshot version). Just hit RETURN for all three to use the defaults.
  3. Important: Make a backup copy of the "" file now (in case something goes wrong during the release upload)!

  4. mvn release:perform -Dusername=YOURUSERNAME -Dpassword=YOURPASSWORD

    • During the perform run you will be asked for your gpg passphrase.


  1. Announce the new release candidate and ask for a vote
    • From: "Manfred Geiler" <>
      To: "MyFaces Development" <>
      Subject: [vote] MyFaces Master pom v4
      This is the formal vote for the new myfaces master POM version 4.
      You can find the signed release candidate at [1].
      Please vote
      +1 if you reviewed the new master pom version 4 and think we can use it
      -1 if you found a flaw or potential problem with the new master pom
  2. The Release Manager (=you) decides about the outcome of the voting.
    • Please note that there is no veto for release votings. But of cource you should address negative votes. As a rule of thumb you should at least get three positive votes before you decide to continue with the release process.


  1. Copy the release candidate to the maven distribution dir
    • cp -r /www/* /www/

  2. It can take up to 24 hours for a newly published release to be sync'd to all mirrors. You should at least verify that the new release is already available at the Maven main repo before adding a dependency to it within another project.