The current release policy causes headache for Martin and confusion for me. ;-)
Just looked at the tomahawk 1.1.2 branch. It depends on commons 1.1.3-SNAPSHOT.
Shouldn't the tomahawk freeze depend on commons 1.1.2 instead?!
The longer I think about it, the more I'm really sure that the only
correct way to do MyFaces releases in the future is to freeze (ie.
create a branch for) all modules at the same time. Otherwise we will
always run into huge problems.
The upcoming core and tomahawk will depend on and must be compatible
to commons-1.1.2. Every current modification in core or tomahawk that
depends on commons-1.1.3-SNAPSHOT and is done in the trunk now, will
break this compatibility if we do the branch later.
This way we could also simplify all commons dependencies by using
<dependency>
<groupId>org.apache.myfaces.commons</groupId>
<artifactId>myfaces-commons</artifactId>
<version>${version}</version>
</dependency>
instead of
<dependency>
<groupId>org.apache.myfaces.commons</groupId>
<artifactId>myfaces-commons</artifactId>
<version>1.1.3-SNAPSHOT</version>
</dependency>
This way the release would become slightly simpler as well. These are
the necessary steps as I see them. Comments and corrections welcome!
1. Code freeze:
1a. Create commons 1_1_2 branch (*)
1b. Create core 1_1_2 branch
1c. Create tomahawk 1_1_2 branch (*)
2. Replace 1.1.2-SNAPSHOT by 1.1.2 in all three branches
-->Everyone is now able to install a complete 1.1.2 release in his/her
local repository by using the 1_1_2 branches
3. Replace 1.1.2-SNAPSHOT by 1.1.3-SNAPSHOT everywhere in trunk (*)
-->Development can go on without danger for current release process
4a. Fix citical bugs in commons branch if necessary (*)
4b. Vote for and release commons 1.1.2 (*)
5a. Fix citical bugs in core branch if necessary
5b. Vote for and release core 1.1.2
6a. Fix citical bugs in tomahawk branch if necessary
6b. Vote for and release tomahawk 1.1.2
(*) = already done
Order of steps 5 and 6 does not matter.
Sean, what do you think?
Manfred