If all the TCKs are going to be split up my concern is that over time the requirements of the test harness for each project may diverge, and we end up with vendors needing to maintain multiple versions of kinda similar but subtly different test adaptors for each TCK.
This is somewhat of a concern indeed. For the most part, an Arquillian adapter gets you 90% there, and this adapter itself is obviously shared. There have been a few differences though in how the test is setup. From adding a profile to a provided pom.xml and then running the tests with "mvn ... -Pvendor" to needing a runner pom.xml that references a test-jar dependency.
It references on its turn each standalone TCK individually.
An advantage of the standalone strategy vs all-in-one is that when you want to run say the Faces TCK, you aren't confronted with the complexity of having to set up a Mail server, a second application server, an LDAP server, etc etc. The old platform TCK did a poor job there, requiring everything for all specs to be configured, even when not needed.
I do think both Arquillian Core and some utility code (such as used by the CDI TCK) could be moved to a TCK sub-project, so that all individual standalone TCKs can use that.
Kind regards,
Arjan Tijms