This documentation relates to QuickBuild 2.0.x
You are viewing a different version of QuickBuild. Please refer to the listing to choose another version.
For scheduled builds, run them incrementally. However if it is manually triggered, user needs to control whether it is a clean build or an incremental build.
h2. Demonstration
Visit the [demo project|http://demo.pmease.com/build/73.latest/], click run button to trigger the build, and the build option screen will present a clean option. QuickBuild will clean up the workspace directory (and this means a clean build for this demo project) before running the build if this option is checked.
h2. Resolution
# Define a variable _clean_ in [basic setting|http://demo.pmease.com/setting/basic/73/] of the demo project, with prompt setting defined as a checkbox. The default value is set to _false_ indicating all scheduled builds being incrementally. Note that variable name is arbitrary as long as the same name is referenced later.
# Switch to [steps view|http://demo.pmease.com/setting/steps/execution/73/] of the demo project. This project defines the clean behavior to be workspace cleanup before running the build, and _pre-execute script_ of the master step is defined as below to achieve this purpose:
{code}
if (vars.get("clean").asBoolean())
util.cleanDir(configuration.workspaceDir);
{code}
If build is triggered by scheduler, default value of the variable will be used, which is _false_, and workspace directory will not cleaned. If triggered manually, the variable value will be either _true_ or _false_ depending on whether or not the user has checked the _clean_ option.
{info}This demo treats clean build as cleaning up the workspace directory before running the build. However, your clean build might have a different behavior, for example, cleaning up a sub directory under the workspace before running master step, or even deleting certain files before running certain steps. All of these logic can be customized using the _pre-execute script_ and _post-execute script_ of various steps.{info}
{info}This demo treats clean build as cleaning up the workspace directory before running the build. However, your clean build might have a different behavior, for example, cleaning up a sub directory under the workspace before running master step, or even deleting certain files before running certain steps. All of these logic can be customized using the _pre-execute script_ and _post-execute script_ of various steps. You may even use multiple variables to control the clean behavior.{info}