What are the limitations of TFS in heterogeneous development environments?
I have little expirience with Jenkins and like the possibility to run all those different kinds of jobs, like Ant, Maven, CMD, Powershell, ...
Is it possible to check coding conventions when building a java project with team foundation server? I do not know how java builds with TFS work. I saw a presentation form Microsoft and the guy mentioned Maven and Ant Tasks. So I assume it can be done with a checkstyle plugin in Maven.
Is it possible to run CMD skripts?
The tool mentioned is probably the Team Foundation Server Build Extensions Power Tool December 2011.
These add the ability to trigger standard Java build scripts from Team Build.
The Java build processes just invoke maven or ant, so any task that checks code quality in these build tools should work just fine in Team Build. The team at Microsoft choose not to make a complex build template for the Java people, as they are well accustomed to their own build tools. So the build process templates to execute a Java build aver very thin by default. Everything is done through standard Java tooling. Team Build just invokes these and gathers the output.
As for executing command scripts and other executables as part of the build, there's a number of ways you can do this. The right way depends on the thing you want to accomplish.
The Visual Studio lab management build template and the Build Deploy Test build template serve as a good starting point to learn more about the possibilities of invoking processes during the build process.
As mentioned in other answers, the SVNBridge and possibly Git2tfs might provide alternative ways for the Java team members to access sources in TFS. They can then use the existing ant/maven tasks to get the sources and build the code.
You are very likely to get a lot of personal opinions on the use of TFS and whether or not it is a good fit, especially for JAVA development. That said, for the purposes of plugging in ANT/Maven/Jenkins you could install SVNBridge to give you the same functionality as you'd find with SVN.
It doesn't mean that there aren't plugins for TFS to support the tools, I've just found SVN related plugins are a lot more accessible.