BuildContributorContext Class

Definition

Provides the context for the build process that is used by BuildContributor objects during project build. See documentation for the Arguments and ExtensionFiles properties for information on how to specify these inside a project file.

public sealed class BuildContributorContext
type BuildContributorContext = class
Public NotInheritable Class BuildContributorContext
Inheritance
BuildContributorContext

Constructors

BuildContributorContext(Dictionary<String,Object>, Dictionary<String,String>, TSqlModel, ITaskItem[])

Initializes a new instance of the BuildContributorContext class.

Properties

Arguments

Gets a dictionary of command-line arguments and their values. When building in SSDT, arguments are available when found in a .sqlproj file or a referenced .targets file. For instance to add a "RunMyContributor" argument with a value of "true", the following would be added:

<PropertyGroup> <ContributorArguments Condition="'$(Configuration)' == 'Debug''"> $(ContributorArguments);RunMyContributor=True; </ContributorArguments> </PropertyGroup>

In this case the argument is only added for Debug configuration. Using the above configuration it is possible to collect information from the MSBuild environment and pass it to the contributor.

BuildProperties

Gets a dictionary of named properties and their values

ExtensionFiles

Gets an array of ITaskItem representing Files from the project system which influence the build contributors.

Input configuration files can be defined in a .sqlproj file as part of the MSBuild process. Inside a .sqproj file, Build Configuration files are specified as follows:

<ItemGroup> <BuildExtensionConfiguration Include="MyContributorName.MyFileName1.sql" /> <BuildExtensionConfiguration Include="MyContributorName.MyFileName2.sql" /> </ItemGroup>

Note that configuration files are accessible to all contributors. Contributors may employ a file naming pattern to identify which input files related to that contributor.

Model

Gets the TSqlModel of the project

Applies to