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).
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 with TeamCity 5.x and TeamCity 4.5.x (there are two plugin configurations).
<TeamCity Data Directory>/pluginsfolder.
- Restart the server.
The plugin can be used with any runner. 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 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.
If at the specified path there is no handle.exe 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.
Generally snapshot file is deleted after files collection. Set
swabra.preserve.snapshot system property to preserve snapshots for debug purposes.
Issue in TeamCity tracker.