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:
- support for different languages like Groovy, Scala, Closure, etc.
- ability to compile Android projects and build .apk artifacts
- ability to build many other artifact types supported by IDEA itself (war, ear, etc.)
- faster rebuild, thanks to the highly optimized IDEA external make build process, and even faster incremental building (should be enabled on the IDEA project runner page)
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:
- buildTypes directory contains definitions of build configurations and templates, one file per definition, with file names like: <build configuration/template ID>.xml
- vcsRoots directory contains definitions of vcs roots, one file per definition, with file names like: <vcs root ID>.xml
- pluginData directory 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.
- a new set of icons in TeamCity web interface and TeamCity IntelliJ plugin
- the build configuration paused state and project archived state are now stored in configuration files instead of the database, so if you move configuration files from server to server, the paused and archived states won't be lost
- the "checkout on agent" build stage can be interrupted now
- bulk remove of license keys on Licenses page
- hiding of server health items is now recorded in audit
- changes in VCS roots as well as manual start of cleanup are recorded in audit
- working copies in new Subversion VCS roots will use 1.7 format by default
- resolved issues