The plugin is bundled since TeamCity 5.1. The recent version is described in the documentation for the latest TeamCity release.
Plugin adds support for cleaning new files created during the build. The files modified during the build are also reported in the build log (but are not affected by the plugin).
The plugin remembers the state of the file tree after the sources checkout and then deletes all the newly added files on the build finish or on next build start (depending on the options)To learn more about the plugin, please read the recent plugin page in the documentation for the latest TeamCity release.
Plugin Development Status
In final stage of development. Snapshot builds are available.
Everyone is encouraged to try the plugin.
TeamCity Versions Compatibility
The current plugin version is designed to work Plugin was bundled with TeamCity 5.x and TeamCity 4.5.x (there are two plugin configurations).
In TeamCity 6.0 Swabra became a build feature.
To learn more on using old Swabra versions, please read previous versions of this document.
<TeamCity Data Directory>/pluginsfolder.
- Restart the server.
The plugin can be used with Ant, Command Line, Duplicates finder (.NET), Duplicates finder (Java), FxCop, Inspection, Ipr, Maven2, MSBuild, NAnt, Rake, sln2003, sln2005, sln2008 runners. Swabra tab provides UI options to enable scanning checkout directory for newly created and modified files.
Cleaning can be performed before or after the build.
First the plugin is turned on, it initiates clean checkout, after which in the checkout directory there are only essential files and no "garbage". At this moment the state of the checkout directory is saved into a file in the caches directory named
<checkout_directory_name_hash>.snapshot using DiskDir format. Checkout directory to snapshot name map is saved int snapshot.map file.
This snapshot is used later (after the build finish or at the start of the next build) to determine which files and folders are newly created or modified. It is done by actual files' presence, last modification data and size comparison with corresponding records in the snapshot.
Сonfiguring plugin via UI options
The plugin adds its configuration settings panel to the runner settings page: choose Swabra mode as before or after build.
If you choose
After build mode build files cleanup will be performed after the build. Between builds there will be clean copy in the checkout directory.
If you choose
Before next build mode previous build files cleanup will be performed at build start. You only need to use this mode if files are required between builds.
Strict mode option to enable Swabra "strict" mode The build will fail if at the start there are any files which were created or modified during previous build.
Handle.exe path - path to Handle excutable on Windows agent. If specified will be used to determine processes which hold files in the ckeckout directory. You may also use
handle.exe.path system property on agent to pass this path to the plugin.
Handle.exe path UI property or
handle.exe.path system property is specified or if at the specified path there is no handle.exe executable found the plugin will try to automatically download this executable (unless
swabra.handle.disable.download system property is set).
Verbose output option to enable detailed logging to build log.
h3. Known Issues
Issue in TeamCity tracker.