Child pages
  • Swabra

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
This section concerns only the latest version of the plugin. You are welcome to download it directly from public TeamCity server
Note
Warning

The plugin is bundled since TeamCity 5.1. The recent version is described in the documentation for the latest TeamCity release.

General Info

Vendor

JetBrains

License

Apache 2.0

Type

free, open-source

Plugin Description

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.

Production quality.

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).

Download

Directly from public TeamCity server:
5.x last nightly build
4.5.x last nightly build

Documentation

1.
In TeamCity 6.0 Swabra became a build feature.
To learn more on using old Swabra versions, please read previous versions of this document.

Installation instructions

  1. Put swabra.zip into <TeamCity Data Directory>/plugins folder.
  2. Restart the server.

Plugin usage

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.

Check 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.

Specify 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).

Check Verbose output option to enable detailed logging to build log.

Debug options

Generally snapshot file is deleted after files collection. Set swabra.preserve.snapshot system property to preservi snapshots for debug purposes.

hidden-data


h4. Debug options

Generally the snapshot file is deleted after files collection. Set {{swabra.preserve.snapshot}} system property
to preserve snapshots foe debug purposes.


h3. Known Issues

Feedback/Support

If you believe you've faced a bug: Issue Tracker (project: TeamCity)
If you want to ask a question or discuss: Forum

Sources in JetBrains Subversion repository.
Builds for TeamCity 5.x and
Builds for TeamCity 4.5.x at JetBrains public TeamCity

Related Materials

Issue in TeamCity tracker.

 on GitHub