We wouldn't need a separate repo even if the release plugin can't do what we want. We can simply remove the TCK maven module from the parent, so that it isn't build recursively from parent. Then the release plugin would omit the TCK module.
From the discussion with Scott, I remember somebody (possibly me :) ) summarizing our options to basically 2 options:
- either we release API and TCK together and allow fix versions for TCK later
- or we will release API and TCK separately, with API first and the TCK released after a timeboxed while, e.g. a month
The second option would allow implementors to start implementing (against the API and snapshot TCK), but would also allow additional changes to the TCK. I believe Implementors don't need the final version of the TCK to start implementing. And the second option would also prevent a situation when an implementation passes the initial final version of the TCK but doesn't pass subsequent fix versions. That would put 2 implementations into inequality, depending on which TCK version they were tested against. But this option also requires to abide to more strict release processes to meet a deadline for a TCK so that an API doesn't live without a TCK for too long.
--Ondro