As you know, since version 12.0 IntelliJ IDEA uses a new external make, i.e. the make which works out of main IDEA process. We worked together with IntelliJ IDEA team to integrate this make with IDEA Project runner in TeamCity. In this EAP we're ready to announce this feature. From now on IDEA Project runner in TeamCity will use the same code to make your project as the code used by IDEA itself. Basically it means that all goodies available in the IDEA make are now available in TeamCity too. To name a few:
Similar to build configurations, templates and projects, VCS roots finally got human assignable identifiers. These identifiers can be used in references to VCS root properties, REST requests, and so on.
Additionally, bulk editing of object identifiers is now possible. From a project configuration page you can modify IDs of all subprojects, VCS roots, configurations and templates in a single action.
TeamCity stores configuration under <TeamCity data directory>/config directory. All project configuration files are stored under <TeamCity data directory>/config/projects. Each project has its own directory named after the project ID. Before this EAP project configuration was stored in a single XML file - project-config.xml. In this file you could find definitions of all build configurations, templates and VCS roots. Starting from this EAP, definitions of build configurations, templates and VCS roots are moved to separate files. Now the project configuration files structure looks like this:
<TeamCity data directory>/config/projects/<project id>/ buildNumbers/ buildTypes/ vcsRoots/ pluginData/ project-config.xml
buildTypesdirectory contains definitions of build configurations and templates, one file per definition, with file names like:
<build configuration/template ID>.xml
vcsRootsdirectory contains definitions of vcs roots, one file per definition, with file names like:
<vcs root ID>.xml
pluginDatadirectory contains plugin specific configuration files.
project-config.xml file contains project specific settings only, like parameters and cleanup settings.
Starting from this EAP all meta-runners are stored on a project level. In other words, you can create a meta-runner which will be available to your project and its subprojects only, and won't be visible outside. The target project where the meta-runner will be stored can be selected right in the Extract Meta-Runner dialog. Once the meta-runner is extracted, you can edit its raw xml definition right in the browser. This can be useful if you want to reorder parameters or make some quick fixes in the runner scripts.
We continue improving feature branches support in version 8.0. With this EAP you can configure artifact dependency on a build from a specific branch. You can also control the set of branches where labeling must be performed.