Imported Upstream version 3.6.0

Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
This commit is contained in:
Jo Shields
2014-08-13 10:39:27 +01:00
commit a575963da9
50588 changed files with 8155799 additions and 0 deletions

View File

@@ -0,0 +1,62 @@
//
// AssemblyInfo.cs
//
// Author:
// Marek Sieradzki (mare.sieradzki@gmail.com
//
// (C) 2005 Marek Sieradzki
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
#if NET_2_0
using System;
using System.Reflection;
using System.Resources;
using System.Security;
using System.Security.Permissions;
using System.Diagnostics;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about the Microsoft.Build.Utilities assembly
[assembly: AssemblyTitle ("Microsoft.Build.Utilities.dll")]
[assembly: AssemblyDescription ("Microsoft.Build.Utilities.dll")]
[assembly: AssemblyDefaultAlias ("Microsoft.Build.Utilities.dll")]
[assembly: AssemblyCompany (Consts.MonoCompany)]
[assembly: AssemblyProduct (Consts.MonoProduct)]
[assembly: AssemblyCopyright (Consts.MonoCopyright)]
[assembly: AssemblyVersion (XBuildConsts.AssemblyVersion)]
[assembly: SatelliteContractVersion (XBuildConsts.AssemblyVersion)]
[assembly: AssemblyInformationalVersion (XBuildConsts.FileVersion)]
[assembly: NeutralResourcesLanguage ("en-US")]
[assembly: ComVisible (false)]
[assembly: CLSCompliant (true)]
[assembly: AssemblyDelaySign (true)]
[assembly: AssemblyKeyFile("../msfinal.pub")]
[assembly: AssemblyFileVersion (XBuildConsts.FileVersion)]
#endif

View File

@@ -0,0 +1,37 @@
2010-04-03 Ankit Jain <jankit@novell.com>
* Makefile: Import tools/xbuild/xbuild_targets.make, which copies
the target and tasks file in the correct place, to allow running
tests with different toolsversion.
Use the correct target assembly name for 4.0 profile.
2010-02-10 Ankit Jain <jankit@novell.com>
* Microsoft.Build.Utilities.dll.sources: Add ProcessStringDictionary.cs
from class/System/System.Collections.Specialized . This is required as
the StringDictionary in ToolTask, used for EnvironmentOverrides, is
inadequate, because environment vars are case sensitive on unix.
2009-04-25 Jonathan Chambers <joncham@gmail.com>
* Makefile: Adjust assembly name for 3.5 profile.
2009-02-25 Ankit Jain <jankit@novell.com>
* Microsoft.Build.Utilities.dll.sources: Add ProcessService.cs,
ProcessWrapper.cs, IAsyncOperation.cs and IProcessAsyncOperation.cs
2006-04-19 Marek Sieradzki <marek.sieradzki@gmail.com>
* Microsoft.Build.Utilities.targets: Removed.
2005-09-25 Marek Sieradzki <marek.sieradzki@gmail.com>
* Microsoft.Build.Utilities.dll.sources: Updated.
2005-09-09 Marek Sieradzki <marek.sieradzki@gmail.com>
* Microsoft.Build.Utilities.dll.sources: Renamed from
Microsoft.Build.Utilities.sources.
* Microsoft.Build.Utilities_test.dll.sources: Added.
* Makefile: Added Microsoft.Build.Framework.dll to test references.

View File

@@ -0,0 +1,251 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="AppDomainIsolatedTask" FullName="Microsoft.Build.Utilities.AppDomainIsolatedTask">
<TypeSignature Language="C#" Value="public abstract class AppDomainIsolatedTask : MarshalByRefObject, Microsoft.Build.Framework.ITask" />
<AssemblyInfo>
<AssemblyName>Microsoft.Build.Utilities</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.MarshalByRefObject</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>Microsoft.Build.Framework.ITask</InterfaceName>
</Interface>
</Interfaces>
<Attributes>
<Attribute>
<AttributeName>Microsoft.Build.Framework.LoadInSeparateAppDomain</AttributeName>
</Attribute>
</Attributes>
<Docs>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Provides the same functionality as <see cref="T:Microsoft.Build.Utilities.Task" />, but also derives from <see cref="T:System.MarshalByRefObject" /> so that it can be instantiated in its own app domain.</para>
</summary>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected AppDomainIsolatedTask ();" />
<MemberType>Constructor</MemberType>
<Parameters />
<Docs>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:Microsoft.Build.Utilities.AppDomainIsolatedTask" /> class.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected AppDomainIsolatedTask (System.Resources.ResourceManager taskResources);" />
<MemberType>Constructor</MemberType>
<Parameters>
<Parameter Name="taskResources" Type="System.Resources.ResourceManager" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:Microsoft.Build.Utilities.AppDomainIsolatedTask" /> class and allows derived <see cref="T:Microsoft.Build.Utilities.Task" /> classes to register their resources.</para>
</summary>
<param name="taskResources">
<attribution license="cc4" from="Microsoft" modified="false" />The task resources.</param>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected AppDomainIsolatedTask (System.Resources.ResourceManager taskResources, string helpKeywordPrefix);" />
<MemberType>Constructor</MemberType>
<Parameters>
<Parameter Name="taskResources" Type="System.Resources.ResourceManager" />
<Parameter Name="helpKeywordPrefix" Type="System.String" />
</Parameters>
<Docs>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>If the prefix is an empty string, then string resource names will be used verbatim as Help keywords. For an example of how the prefix is used, see the <see cref="M:Microsoft.Build.Utilities.TaskLoggingHelper.LogErrorWithCodeFromResources(System.String,System.Object[])" /> method.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:Microsoft.Build.Utilities.AppDomainIsolatedTask" /> class and allows derived <see cref="T:Microsoft.Build.Utilities.Task" /> classes to register their resources, as well as provide a prefix for composing help keywords from string resource names.</para>
</summary>
<param name="taskResources">
<attribution license="cc4" from="Microsoft" modified="false" />The task resources.</param>
<param name="helpKeywordPrefix">
<attribution license="cc4" from="Microsoft" modified="false" />The Help keyword prefix.</param>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="BuildEngine">
<MemberSignature Language="C#" Value="public Microsoft.Build.Framework.IBuildEngine BuildEngine { set; get; }" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>Microsoft.Build.Framework.IBuildEngine</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The build engine automatically sets this property to allow tasks to call back into it.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets the build engine interface that is available to tasks.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="Execute">
<MemberSignature Language="C#" Value="public abstract bool Execute ();" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This method must be implemented by the derived class.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Runs the task.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>true if successful; otherwise, false.</para>
</returns>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="HelpKeywordPrefix">
<MemberSignature Language="C#" Value="protected string HelpKeywordPrefix { set; get; }" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>If a task does not have help keywords associated with its messages, it can ignore this property or set it to null. If the prefix is set to an empty string, then string resource names will be used verbatim as help keywords. For an example of how this prefix is used, see the <see cref="M:Microsoft.Build.Utilities.TaskLoggingHelper.LogErrorWithCodeFromResources(System.String,System.Object[])" /> method.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets the prefix that is used to compose Help keywords from string resource names.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="HostObject">
<MemberSignature Language="C#" Value="public Microsoft.Build.Framework.ITaskHost HostObject { set; get; }" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>Microsoft.Build.Framework.ITaskHost</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The build engine sets this property if the host IDE has associated a host object with this particular task.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets a host object instance that is associated with the derived <see cref="T:Microsoft.Build.Utilities.Task" />.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="InitializeLifetimeService">
<MemberSignature Language="C#" Value="public override object InitializeLifetimeService ();" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Object</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Otherwise, a limited lease of 5 minutes will result; and task instances can expire if they take a long time to process.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>When overridden in a derived class, gives tasks infinite lease time.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>null to specify an infinite lifetime.</para>
</returns>
</Docs>
</Member>
<Member MemberName="Log">
<MemberSignature Language="C#" Value="public Microsoft.Build.Utilities.TaskLoggingHelper Log { get; }" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>Microsoft.Build.Utilities.TaskLoggingHelper</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets an instance of a task logging helper object that contains task logging methods.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="TaskResources">
<MemberSignature Language="C#" Value="protected System.Resources.ResourceManager TaskResources { set; get; }" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.Resources.ResourceManager</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Derived classes should register their resources either during construction, or through this property, if they have localized strings.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets culture-specific resources of the derived <see cref="T:Microsoft.Build.Utilities.Task" />.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="HostObjectInitializationStatus" FullName="Microsoft.Build.Utilities.HostObjectInitializationStatus">
<TypeSignature Language="C#" Value="public enum HostObjectInitializationStatus" />
<AssemblyInfo>
<AssemblyName>Microsoft.Build.Utilities</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Enum</BaseTypeName>
</Base>
<Docs>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>
<see cref="T:Microsoft.Build.Utilities.HostObjectInitializationStatus" /> is the return type of the <see cref="M:Microsoft.Build.Utilities.ToolTask.InitializeHostObject" /> method of the <see cref="T:Microsoft.Build.Utilities.ToolTask" /> class.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Defines the next action for <see cref="T:Microsoft.Build.Utilities.ToolTask" /> after an attempt to initialize the host object.</para>
</summary>
</Docs>
<Members>
<Member MemberName="NoActionReturnFailure">
<MemberSignature Language="C#" Value="NoActionReturnFailure" />
<MemberType>Field</MemberType>
<ReturnValue>
<ReturnType>Microsoft.Build.Utilities.HostObjectInitializationStatus</ReturnType>
</ReturnValue>
<Docs>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Indicates that some of the parameters being passed into the task are invalid, and that the task should fail immediately.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="NoActionReturnSuccess">
<MemberSignature Language="C#" Value="NoActionReturnSuccess" />
<MemberType>Field</MemberType>
<ReturnValue>
<ReturnType>Microsoft.Build.Utilities.HostObjectInitializationStatus</ReturnType>
</ReturnValue>
<Docs>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Indicates that the host object is up to date, and that no further action is necessary.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="UseAlternateToolToExecute">
<MemberSignature Language="C#" Value="UseAlternateToolToExecute" />
<MemberType>Field</MemberType>
<ReturnValue>
<ReturnType>Microsoft.Build.Utilities.HostObjectInitializationStatus</ReturnType>
</ReturnValue>
<Docs>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Indicates that either a host object is not available, or that the host object is not capable of supporting all of the features required for this build. Therefore, <see cref="T:Microsoft.Build.Utilities.ToolTask" /> should fallback to an alternate means of doing the build, such as invoking the command-line tool.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="UseHostObjectToExecute">
<MemberSignature Language="C#" Value="UseHostObjectToExecute" />
<MemberType>Field</MemberType>
<ReturnValue>
<ReturnType>Microsoft.Build.Utilities.HostObjectInitializationStatus</ReturnType>
</ReturnValue>
<Docs>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Indicates that an appropriate host object for this task exists, which can support all of the parameters passed in and should be invoked to do the real work of the task.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,218 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="Logger" FullName="Microsoft.Build.Utilities.Logger">
<TypeSignature Language="C#" Value="public abstract class Logger : Microsoft.Build.Framework.ILogger" />
<AssemblyInfo>
<AssemblyName>Microsoft.Build.Utilities</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>Microsoft.Build.Framework.ILogger</InterfaceName>
</Interface>
</Interfaces>
<Docs>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This abstract class provides default implementations for the methods and properties of the <see cref="T:Microsoft.Build.Framework.ILogger" /> interface.</para>
<para>This class can only be instantiated in a derived form.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>When overridden in a derived form, provides functionality for loggers that handle events raised by the vstecmsbuild engine.</para>
</summary>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected Logger ();" />
<MemberType>Constructor</MemberType>
<Parameters />
<Docs>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:Microsoft.Build.Utilities.Logger" /> class.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="FormatErrorEvent">
<MemberSignature Language="C#" Value="public virtual string FormatErrorEvent (Microsoft.Build.Framework.BuildErrorEventArgs args);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="args" Type="Microsoft.Build.Framework.BuildErrorEventArgs" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Generates an error message that is in the default format, from a <see cref="T:Microsoft.Build.Framework.BuildErrorEventArgs" /> object.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A <see cref="T:System.String" /> that represents an error message in canonical format.</para>
</returns>
<param name="args">
<attribution license="cc4" from="Microsoft" modified="false" />The arguments of the error event.</param>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="FormatWarningEvent">
<MemberSignature Language="C#" Value="public virtual string FormatWarningEvent (Microsoft.Build.Framework.BuildWarningEventArgs args);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="args" Type="Microsoft.Build.Framework.BuildWarningEventArgs" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Generates a warning message that is in the default format, from a <see cref="T:Microsoft.Build.Framework.BuildWarningEventArgs" /> object.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A <see cref="T:System.String" /> that represents a warning message in canonical format.</para>
</returns>
<param name="args">
<attribution license="cc4" from="Microsoft" modified="false" />The arguments of the warning event.</param>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="Initialize">
<MemberSignature Language="C#" Value="public abstract void Initialize (Microsoft.Build.Framework.IEventSource eventSource);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="eventSource" Type="Microsoft.Build.Framework.IEventSource" />
</Parameters>
<Docs>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This method must be overridden in the derived class to perform initialization logic and to subscribe to build events published by <see cref="T:Microsoft.Build.Framework.IEventSource" />.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>When overridden in a derived class, subscribes the logger to specific events.</para>
</summary>
<param name="eventSource">
<attribution license="cc4" from="Microsoft" modified="false" />The available events that a logger can subscribe to.</param>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="IsVerbosityAtLeast">
<MemberSignature Language="C#" Value="public bool IsVerbosityAtLeast (Microsoft.Build.Framework.LoggerVerbosity verbosity);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="verbosity" Type="Microsoft.Build.Framework.LoggerVerbosity" />
</Parameters>
<Docs>
<param name="verbosity">To be added.</param>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Determines whether the current <see cref="P:Microsoft.Build.Utilities.Logger.Verbosity" /> setting is at least the value that is passed in.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>true if the current logger verbosity setting is at least the value that is passed in; otherwise, false.</para>
</returns>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="Parameters">
<MemberSignature Language="C#" Value="public virtual string Parameters { set; get; }" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>If the derived class does not take parameters, then it can ignore this property.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets the user-defined parameters of the logger.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="Shutdown">
<MemberSignature Language="C#" Value="public virtual void Shutdown ();" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This method can be overridden in the derived class to perform shutdown logic, such as releasing acquired resources.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>When overridden in a derived class, releases the resources allocated to the logger at the time of initialization or during the build.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="Verbosity">
<MemberSignature Language="C#" Value="public virtual Microsoft.Build.Framework.LoggerVerbosity Verbosity { set; get; }" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>Microsoft.Build.Framework.LoggerVerbosity</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>While a logger is free to choose the events it logs, following the verbosity guidelines creates a consistent user experience.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets the level of detail to show in the event log.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,72 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="TargetDotNetFrameworkVersion" FullName="Microsoft.Build.Utilities.TargetDotNetFrameworkVersion">
<TypeSignature Language="C#" Value="public enum TargetDotNetFrameworkVersion" />
<AssemblyInfo>
<AssemblyName>Microsoft.Build.Utilities</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Enum</BaseTypeName>
</Base>
<Docs>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Specifies the version of the dnprdnshort to use with the methods in <see cref="T:Microsoft.Build.Utilities.ToolLocationHelper" />.</para>
</summary>
</Docs>
<Members>
<Member MemberName="Version11">
<MemberSignature Language="C#" Value="Version11" />
<MemberType>Field</MemberType>
<ReturnValue>
<ReturnType>Microsoft.Build.Utilities.TargetDotNetFrameworkVersion</ReturnType>
</ReturnValue>
<Docs>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Specifies dnprdnshort version 1.1.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="Version20">
<MemberSignature Language="C#" Value="Version20" />
<MemberType>Field</MemberType>
<ReturnValue>
<ReturnType>Microsoft.Build.Utilities.TargetDotNetFrameworkVersion</ReturnType>
</ReturnValue>
<Docs>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Specifies dnprdnshort version 2.0.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="VersionLatest">
<MemberSignature Language="C#" Value="VersionLatest" />
<MemberType>Field</MemberType>
<ReturnValue>
<ReturnType>Microsoft.Build.Utilities.TargetDotNetFrameworkVersion</ReturnType>
</ReturnValue>
<Docs>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Specifies the most recent released version of the dnprdnshort.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,229 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="Task" FullName="Microsoft.Build.Utilities.Task">
<TypeSignature Language="C#" Value="public abstract class Task : Microsoft.Build.Framework.ITask" />
<AssemblyInfo>
<AssemblyName>Microsoft.Build.Utilities</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>Microsoft.Build.Framework.ITask</InterfaceName>
</Interface>
</Interfaces>
<Docs>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This abstract class provides default implementations for the methods and properties of the <see cref="T:Microsoft.Build.Framework.ITask" /> interface.</para>
<para>This class can only be instantiated in a derived form.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>When overridden in a derived form, provides functionality for tasks.</para>
</summary>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected Task ();" />
<MemberType>Constructor</MemberType>
<Parameters />
<Docs>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:Microsoft.Build.Utilities.Task" /> class.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected Task (System.Resources.ResourceManager taskResources);" />
<MemberType>Constructor</MemberType>
<Parameters>
<Parameter Name="taskResources" Type="System.Resources.ResourceManager" />
</Parameters>
<Docs>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This constructor allows derived task classes to register their resources.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:Microsoft.Build.Utilities.Task" /> class with the specified <see cref="P:Microsoft.Build.Utilities.Task.TaskResources" />.</para>
</summary>
<param name="taskResources">
<attribution license="cc4" from="Microsoft" modified="false" />The task resources.</param>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected Task (System.Resources.ResourceManager taskResources, string helpKeywordPrefix);" />
<MemberType>Constructor</MemberType>
<Parameters>
<Parameter Name="taskResources" Type="System.Resources.ResourceManager" />
<Parameter Name="helpKeywordPrefix" Type="System.String" />
</Parameters>
<Docs>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This constructor allows derived task classes to register their resources, as well as provide a prefix for composing help keywords from string resource names. If <paramref name="helpKeywordPrefix" /> is an empty string, string resource names will be used verbatim as help keywords.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:Microsoft.Build.Utilities.Task" /> class with the specified <see cref="P:Microsoft.Build.Utilities.Task.TaskResources" /> and <see cref="P:Microsoft.Build.Utilities.Task.HelpKeywordPrefix" />.</para>
</summary>
<param name="taskResources">
<attribution license="cc4" from="Microsoft" modified="false" />The task resources.</param>
<param name="helpKeywordPrefix">
<attribution license="cc4" from="Microsoft" modified="false" />The prefix to append to string resources to create Help keywords.</param>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="BuildEngine">
<MemberSignature Language="C#" Value="public Microsoft.Build.Framework.IBuildEngine BuildEngine { set; get; }" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>Microsoft.Build.Framework.IBuildEngine</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The build engine automatically sets this property to allow tasks to call back into it.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets the instance of the <see cref="T:Microsoft.Build.Framework.IBuildEngine" /> object used by the task.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="Execute">
<MemberSignature Language="C#" Value="public abstract bool Execute ();" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This class must be overridden in a derived class, and is used for performing task execution logic.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>When overridden in a derived class, executes the task.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>true if the task successfully executed; otherwise, false.</para>
</returns>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="HelpKeywordPrefix">
<MemberSignature Language="C#" Value="protected string HelpKeywordPrefix { set; get; }" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>If a task does not have Help keywords associated with its messages, it can ignore this property or set it to null. If this property is set to an empty <see cref="T:System.String" />, resource names will be used verbatim as Help keywords.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets the prefix used to compose Help keywords from resource names.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="HostObject">
<MemberSignature Language="C#" Value="public Microsoft.Build.Framework.ITaskHost HostObject { set; get; }" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>Microsoft.Build.Framework.ITaskHost</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>If the host IDE has associated a host object with this particular task, then the build engine sets this property.</para>
<para>The host object is provided by <see cref="T:Microsoft.Build.Execution.HostServices" />. Visual Studio determines the host object via a system registry key. For more information, see <see cref="T:Microsoft.VisualStudio.Shell.Interop.IVsMSBuildHostObject" />.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets the host object associated with the task.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="Log">
<MemberSignature Language="C#" Value="public Microsoft.Build.Utilities.TaskLoggingHelper Log { get; }" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>Microsoft.Build.Utilities.TaskLoggingHelper</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets an instance of a <see cref="T:Microsoft.Build.Utilities.TaskLoggingHelper" /> class containing task logging methods.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="TaskResources">
<MemberSignature Language="C#" Value="protected System.Resources.ResourceManager TaskResources { set; get; }" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.Resources.ResourceManager</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>If derived classes have localized strings, then they should register their resources either during construction, or through this property.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets the culture-specific resources associated with the task.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,372 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="TaskItem" FullName="Microsoft.Build.Utilities.TaskItem">
<TypeSignature Language="C#" Value="public sealed class TaskItem : MarshalByRefObject, Microsoft.Build.Framework.ITaskItem" />
<AssemblyInfo>
<AssemblyName>Microsoft.Build.Utilities</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.MarshalByRefObject</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>Microsoft.Build.Framework.ITaskItem</InterfaceName>
</Interface>
</Interfaces>
<Docs>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>
<see cref="T:Microsoft.Build.Utilities.TaskItem" /> objects do not exactly correspond to item elements in project files. If they did, then tasks would have access to data that was not explicitly passed into the task through the project file. This is not a security issue, but rather an issue with project file clarity and transparency.</para>
<para>This class has to be sealed since the build engine instantiates its own copy of this type. If a third party were to extend this class, then the build engine will yield an undesired behavior.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Defines a single item of the project as it is passed into a task.</para>
</summary>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public TaskItem ();" />
<MemberType>Constructor</MemberType>
<Parameters />
<Docs>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This constructor enables this type to be COM-creatable.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:Microsoft.Build.Utilities.TaskItem" /> class.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public TaskItem (Microsoft.Build.Framework.ITaskItem sourceItem);" />
<MemberType>Constructor</MemberType>
<Parameters>
<Parameter Name="sourceItem" Type="Microsoft.Build.Framework.ITaskItem" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:Microsoft.Build.Utilities.TaskItem" /> class using the specified source <see cref="T:Microsoft.Build.Framework.ITaskItem" />.</para>
</summary>
<param name="sourceItem">
<attribution license="cc4" from="Microsoft" modified="false" />The item to copy.</param>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public TaskItem (string itemSpec);" />
<MemberType>Constructor</MemberType>
<Parameters>
<Parameter Name="itemSpec" Type="System.String" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:Microsoft.Build.Utilities.TaskItem" /> class using the specified item-specification string.</para>
</summary>
<param name="itemSpec">
<attribution license="cc4" from="Microsoft" modified="false" />The item specification.</param>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public TaskItem (string itemSpec, System.Collections.IDictionary itemMetadata);" />
<MemberType>Constructor</MemberType>
<Parameters>
<Parameter Name="itemSpec" Type="System.String" />
<Parameter Name="itemMetadata" Type="System.Collections.IDictionary" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:Microsoft.Build.Utilities.TaskItem" /> class using the specified item-specification string and its metadata.</para>
</summary>
<param name="itemSpec">
<attribution license="cc4" from="Microsoft" modified="false" />The item specification.</param>
<param name="itemMetadata">
<attribution license="cc4" from="Microsoft" modified="false" />The custom metadata for the item specification.</param>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="CloneCustomMetadata">
<MemberSignature Language="C#" Value="public System.Collections.IDictionary CloneCustomMetadata ();" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Collections.IDictionary</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This method does not include built-in metadata.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Clones the collection of custom metadata for the item specification.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>An <see cref="T:System.Collections.IDictionary" /> that represents a clone of the custom metadata.</para>
</returns>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="CopyMetadataTo">
<MemberSignature Language="C#" Value="public void CopyMetadataTo (Microsoft.Build.Framework.ITaskItem destinationItem);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="destinationItem" Type="Microsoft.Build.Framework.ITaskItem" />
</Parameters>
<Docs>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>If the metadata already exists on the destination item, then it is not overwritten. The original metadata value supersedes the copied metadata value.</para>
<para>This method does not copy the item specification to the destination task item.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Copies the item-specification metadata to the specified destination task item.</para>
</summary>
<param name="destinationItem">
<attribution license="cc4" from="Microsoft" modified="false" />The item that this method will copy metadata to.</param>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="GetMetadata">
<MemberSignature Language="C#" Value="public string GetMetadata (string metadataName);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="metadataName" Type="System.String" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Retrieves the specified metadata on the item.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A <see cref="T:System.String" /> that represents the metadata value.</para>
</returns>
<param name="metadataName">
<attribution license="cc4" from="Microsoft" modified="false" />The name of the metadata to retrieve.</param>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="InitializeLifetimeService">
<MemberSignature Language="C#" Value="public override object InitializeLifetimeService ();" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Object</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Otherwise, a limited lease of 5 minutes will result; and task instances can expire if they take a long time to process.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>When overridden in a derived class, gives task items infinite lease time.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>null to specify an infinite lifetime.</para>
</returns>
</Docs>
</Member>
<Member MemberName="ItemSpec">
<MemberSignature Language="C#" Value="public string ItemSpec { set; get; }" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="P:Microsoft.Build.Framework.ITaskItem.ItemSpec" /> for the following item declaration in a project file is File.cs.</para>
<code>&lt;ItemGroup&gt;
&lt;Compile Include="File.cs"/&gt;
&lt;/ItemGroup&gt;</code>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets the item specification.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="MetadataCount">
<MemberSignature Language="C#" Value="public int MetadataCount { get; }" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets the number of metadata set on the item.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="MetadataNames">
<MemberSignature Language="C#" Value="public System.Collections.ICollection MetadataNames { get; }" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.Collections.ICollection</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets the names of all the metadata on the item.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="op_Explicit">
<MemberSignature Language="C#" Value="public static string op_Explicit (Microsoft.Build.Utilities.TaskItem taskItemToCast);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="taskItemToCast" Type="Microsoft.Build.Utilities.TaskItem" />
</Parameters>
<Docs>
<param name="taskItemToCast">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
<since version="2.0" />
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="RemoveMetadata">
<MemberSignature Language="C#" Value="public void RemoveMetadata (string metadataName);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="metadataName" Type="System.String" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Removes the specified metadata on the item.</para>
</summary>
<param name="metadataName">
<attribution license="cc4" from="Microsoft" modified="false" />The name of metadata to remove.</param>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="SetMetadata">
<MemberSignature Language="C#" Value="public void SetMetadata (string metadataName, string metadataValue);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="metadataName" Type="System.String" />
<Parameter Name="metadataValue" Type="System.String" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Sets or modifies the value of the specified metadata on the item.</para>
</summary>
<param name="metadataName">
<attribution license="cc4" from="Microsoft" modified="false" />The name of metadata to set or modify.</param>
<param name="metadataValue">
<attribution license="cc4" from="Microsoft" modified="false" />The new value of metadata.</param>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="ToString">
<MemberSignature Language="C#" Value="public override string ToString ();" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets the item specification.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A <see cref="T:System.String" /> that represents the item specification.</para>
</returns>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,276 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="ToolLocationHelper" FullName="Microsoft.Build.Utilities.ToolLocationHelper">
<TypeSignature Language="C#" Value="public static class ToolLocationHelper" />
<AssemblyInfo>
<AssemblyName>Microsoft.Build.Utilities</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces />
<Docs>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Provides utility methods for locating dnprdnshort and dnprdnshort SDK files and directories.</para>
</summary>
</Docs>
<Members>
<Member MemberName="GetDotNetFrameworkRootRegistryKey">
<MemberSignature Language="C#" Value="public static string GetDotNetFrameworkRootRegistryKey (Microsoft.Build.Utilities.TargetDotNetFrameworkVersion version);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="version" Type="Microsoft.Build.Utilities.TargetDotNetFrameworkVersion" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets the full name of the dnprdnshort root registry key.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A string containing the full name of the dnprdnshort root registry key.</para>
</returns>
<param name="version">
<attribution license="cc4" from="Microsoft" modified="false" />The version of the dnprdnshort to target.</param>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="GetDotNetFrameworkSdkInstallKeyValue">
<MemberSignature Language="C#" Value="public static string GetDotNetFrameworkSdkInstallKeyValue (Microsoft.Build.Utilities.TargetDotNetFrameworkVersion version);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="version" Type="Microsoft.Build.Utilities.TargetDotNetFrameworkVersion" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets the name of the value under the <see cref="M:Microsoft.Build.Utilities.ToolLocationHelper.GetDotNetFrameworkRootRegistryKey(Microsoft.Build.Utilities.TargetDotNetFrameworkVersion)" /> that contains the dnprdnshort SDK installation path.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Returns a string containing the name of the registry key value under the <see cref="M:Microsoft.Build.Utilities.ToolLocationHelper.GetDotNetFrameworkRootRegistryKey(Microsoft.Build.Utilities.TargetDotNetFrameworkVersion)" /> that contains the dnprdnshort SDK installation path.</para>
</returns>
<param name="version">
<attribution license="cc4" from="Microsoft" modified="false" />The version of the dnprdnshort to target.</param>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="GetDotNetFrameworkVersionFolderPrefix">
<MemberSignature Language="C#" Value="public static string GetDotNetFrameworkVersionFolderPrefix (Microsoft.Build.Utilities.TargetDotNetFrameworkVersion version);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="version" Type="Microsoft.Build.Utilities.TargetDotNetFrameworkVersion" />
</Parameters>
<Docs>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>An example of the value returned is the string "v2.0".</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets the prefix of the dnprdnshort folder.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Returns the prefix of the dnprdnshort folder.</para>
</returns>
<param name="version">
<attribution license="cc4" from="Microsoft" modified="false" />The version of the dnprdnshort to target.</param>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="GetPathToDotNetFramework">
<MemberSignature Language="C#" Value="public static string GetPathToDotNetFramework (Microsoft.Build.Utilities.TargetDotNetFrameworkVersion version);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="version" Type="Microsoft.Build.Utilities.TargetDotNetFrameworkVersion" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets a fully qualified path to the dnprdnshort root directory.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A string containing the fully qualified path to the dnprdnshort root directory, or a null reference (Nothing in vbprvb) if the targeted version of the dnprdnshort is not installed.</para>
</returns>
<param name="version">
<attribution license="cc4" from="Microsoft" modified="false" />The version of the dnprdnshort to target.</param>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="GetPathToDotNetFrameworkFile">
<MemberSignature Language="C#" Value="public static string GetPathToDotNetFrameworkFile (string fileName, Microsoft.Build.Utilities.TargetDotNetFrameworkVersion version);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="fileName" Type="System.String" />
<Parameter Name="version" Type="Microsoft.Build.Utilities.TargetDotNetFrameworkVersion" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets a fully qualified path to a file in the dnprdnshort directory.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A string containing the fully qualified path to the specified file, or a null reference (Nothing in vbprvb) if the targeted version of the dnprdnshort is not installed.</para>
</returns>
<param name="fileName">
<attribution license="cc4" from="Microsoft" modified="false" />The file to locate in the dnprdnshort directory.</param>
<param name="version">
<attribution license="cc4" from="Microsoft" modified="false" />The version of the dnprdnshort to target.</param>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="GetPathToDotNetFrameworkSdk">
<MemberSignature Language="C#" Value="public static string GetPathToDotNetFrameworkSdk (Microsoft.Build.Utilities.TargetDotNetFrameworkVersion version);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="version" Type="Microsoft.Build.Utilities.TargetDotNetFrameworkVersion" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<since version="2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets the fully qualified path to the \bin directory of the dnprdnshort SDK.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A string containing the fully qualified path to the \bin directory of the dnprdnshort SDK, or a null reference (Nothing in vbprvb) if the targeted version of the dnprdnshort SDK is not installed.</para>
</returns>
<param name="version">
<attribution license="cc4" from="Microsoft" modified="false" />The version of the dnprdnshort to target.</param>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="GetPathToDotNetFrameworkSdkFile">
<MemberSignature Language="C#" Value="public static string GetPathToDotNetFrameworkSdkFile (string fileName, Microsoft.Build.Utilities.TargetDotNetFrameworkVersion version);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="fileName" Type="System.String" />
<Parameter Name="version" Type="Microsoft.Build.Utilities.TargetDotNetFrameworkVersion" />
</Parameters>
<Docs>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The path for the SDK takes in consideration the processor architecture environment information for the calling process, so it might end up being ".../bin/i64", for example.</para>
<para>Unlike <see cref="M:Microsoft.Build.Utilities.ToolLocationHelper.GetPathToDotNetFrameworkFile(System.String,Microsoft.Build.Utilities.TargetDotNetFrameworkVersion)" /> and <see cref="M:Microsoft.Build.Utilities.ToolLocationHelper.GetPathToSystemFile(System.String)" /> this method checks for the existence of the file, so that an invalid <paramref name="fileName" /> returns null.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets the fully qualified path to a file in the dnprdnshort SDK.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A string containing the fully qualified path to the \bin directory of the dnprdnshort SDK, or a null reference (Nothing in vbprvb) if the targeted version of the dnprdnshort SDK is not installed.</para>
</returns>
<param name="fileName">
<attribution license="cc4" from="Microsoft" modified="false" />The file to locate in the dnprdnshort SDK.</param>
<param name="version">
<attribution license="cc4" from="Microsoft" modified="false" />The version of the dnprdnshort to target.</param>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="GetPathToSystemFile">
<MemberSignature Language="C#" Value="public static string GetPathToSystemFile (string fileName);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="fileName" Type="System.String" />
</Parameters>
<Docs>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This API builds the full path plus filename for a file in the System folder. It doesn't check for the existence of the file prior to returning.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets a fully qualified path to a file in the system directory.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A string containing the fully qualified path to the the file in the system directory.</para>
</returns>
<param name="fileName">
<attribution license="cc4" from="Microsoft" modified="false" />The file to locate in the System folder.</param>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="PathToSystem">
<MemberSignature Language="C#" Value="public static string PathToSystem { get; }" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<since version="2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>An example of the value returned is the string "C:\WinNT\System32".</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets the fully qualified path of the system directory.</para>
</summary>
</Docs>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,70 @@
<Overview>
<Assemblies>
<Assembly Name="Microsoft.Build.Utilities" Version="2.0.0.0">
<Attributes>
<Attribute>
<AttributeName>System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows=true)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute+DebuggingModes.IgnoreSymbolStoreSequencePoints)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.Runtime.CompilerServices.CompilationRelaxations(System.Runtime.CompilerServices.CompilationRelaxations.NoStringInterning)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.Reflection.AssemblyFileVersion("2.0.50727.1433")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.CLSCompliant(true)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.Runtime.InteropServices.ComVisible(false)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.Resources.NeutralResourcesLanguage("en-US")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.Reflection.AssemblyInformationalVersion("2.0.50727.1433")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.Resources.SatelliteContractVersion("2.0.0.0")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.Reflection.AssemblyCopyright("(c) various MONO Authors")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.Reflection.AssemblyProduct("MONO Common language infrastructure")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.Reflection.AssemblyCompany("MONO development team")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.Reflection.AssemblyDefaultAlias("Microsoft.Build.Utilities.dll")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.Reflection.AssemblyDescription("Microsoft.Build.Utilities.dll")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.Reflection.AssemblyTitle("Microsoft.Build.Utilities.dll")</AttributeName>
</Attribute>
</Attributes>
</Assembly>
</Assemblies>
<Remarks>To be added.</Remarks>
<Copyright>To be added.</Copyright>
<Types>
<Namespace Name="Microsoft.Build.Utilities">
<Type Name="AppDomainIsolatedTask" Kind="Class" />
<Type Name="CommandLineBuilder" Kind="Class" />
<Type Name="HostObjectInitializationStatus" Kind="Enumeration" />
<Type Name="Logger" Kind="Class" />
<Type Name="TargetDotNetFrameworkVersion" Kind="Enumeration" />
<Type Name="Task" Kind="Class" />
<Type Name="TaskItem" Kind="Class" />
<Type Name="TaskLoggingHelper" Kind="Class" />
<Type Name="ToolLocationHelper" Kind="Class" />
<Type Name="ToolTask" Kind="Class" />
</Namespace>
</Types>
<Title>Microsoft.Build.Utilities</Title>
</Overview>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<Namespace Name="Microsoft.Build.Utilities">
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="N:Microsoft.Build.Utilities" /> namespace provides helper classes that you can use to create your own MSBuild loggers and tasks. For information, see <format type="text/html"><a href="e39f13f7-1e1d-4435-95ca-0c222bca071c">MSBuild</a></format>.</para>
</summary>
</Docs>
</Namespace>

View File

@@ -0,0 +1,21 @@
thisdir = class/Microsoft.Build.Utilities
SUBDIRS =
include ../../build/rules.make
XBUILD_DIR=$(topdir)/tools/xbuild
include $(XBUILD_DIR)/xbuild.make
LIBRARY = Microsoft.Build.Utilities.dll
LIBRARY_NAME = Microsoft.Build.Utilities$(NAME_SUFFIX).dll
LIB_MCS_FLAGS = \
/r:$(corlib) \
/r:System.dll \
/r:System.Core.dll \
/r:System.Xml.dll \
/r:$(XBUILD_FRAMEWORK)
TEST_MCS_FLAGS = /r:$(XBUILD_ENGINE) /r:$(XBUILD_FRAMEWORK) -r:System.dll -r:System.Core.dll
include $(XBUILD_DIR)/xbuild_test.make
include ../../build/library.make

View File

@@ -0,0 +1,23 @@
../../build/common/Consts.cs
../../build/common/MonoTODOAttribute.cs
../../tools/xbuild/XBuildConsts.cs
Assembly/AssemblyInfo.cs
Microsoft.Build.Utilities/AppDomainIsolatedTask.cs
Microsoft.Build.Utilities/CommandLineBuilder.cs
Microsoft.Build.Utilities/HostObjectInitializationStatus.cs
Microsoft.Build.Utilities/Logger.cs
Microsoft.Build.Utilities/IAsyncOperation.cs
Microsoft.Build.Utilities/IProcessAsyncOperation.cs
Microsoft.Build.Utilities/MSBuildErrorParser.cs
Microsoft.Build.Utilities/ProcessWrapper.cs
Microsoft.Build.Utilities/ProcessService.cs
Microsoft.Build.Utilities/TargetDotNetFrameworkVersion.cs
Microsoft.Build.Utilities/Task.cs
Microsoft.Build.Utilities/TaskItem.cs
Microsoft.Build.Utilities/TaskLoggingHelper.cs
Microsoft.Build.Utilities/ToolLocationHelper.cs
Microsoft.Build.Utilities/ToolTask.cs
Mono.XBuild.Utilities/MonoLocationHelper.cs
Mono.XBuild.Utilities/ReservedNameUtils.cs
Mono.XBuild.Utilities/MSBuildUtils.cs
../System/System.Collections.Specialized/ProcessStringDictionary.cs

View File

@@ -0,0 +1,115 @@
//
// AppDomainIsolatedTask.cs: Task that should be run separate appdomain.
//
// Author:
// Marek Sieradzki (marek.sieradzki@gmail.com)
//
// (C) 2005 Marek Sieradzki
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#if NET_2_0
using System;
using System.Resources;
using Microsoft.Build.Framework;
namespace Microsoft.Build.Utilities
{
[LoadInSeparateAppDomainAttribute]
[MonoTODO]
public abstract class AppDomainIsolatedTask : MarshalByRefObject, ITask
{
IBuildEngine buildEngine;
string helpKeywordPrefix;
ITaskHost hostObject;
TaskLoggingHelper log;
ResourceManager taskResources;
protected AppDomainIsolatedTask ()
: this (null, null)
{
}
protected AppDomainIsolatedTask (ResourceManager taskResources)
: this (taskResources, null)
{
}
protected AppDomainIsolatedTask (ResourceManager taskResources,
string helpKeywordPrefix)
{
this.taskResources = taskResources;
this.helpKeywordPrefix = helpKeywordPrefix;
}
public abstract bool Execute ();
public override object InitializeLifetimeService ()
{
return null;
}
public IBuildEngine BuildEngine {
get {
return buildEngine;
}
set {
buildEngine = value;
log = new TaskLoggingHelper (this);
}
}
protected string HelpKeywordPrefix {
get {
return helpKeywordPrefix;
}
set {
helpKeywordPrefix = value;
}
}
public ITaskHost HostObject {
get {
return hostObject;
}
set {
hostObject = value;
}
}
public TaskLoggingHelper Log {
get {
return log;
}
}
protected ResourceManager TaskResources {
get {
return taskResources;
}
set {
taskResources = value;
}
}
}
}
#endif

View File

@@ -0,0 +1,364 @@
2010-04-10 Ankit Jain <jankit@novell.com>
* ToolTask.cs: Don't wait for the process to end, before emitting
it's stdout/stderr, emit as it is received. This helps with time
consuming tools.
2010-04-10 Ankit Jain <jankit@novell.com>
* ReservedNameUtils.cs (GetReservedMetadata): Handle empty item.
2010-04-08 Ankit Jain <jankit@novell.com>
* ToolTask.cs: Use regex to parse output. Regex is from monodevelop.
2010-04-08 Ankit Jain <jankit@novell.com>
* ToolTask.cs (ExecuteTool): Check that the tool exists.
2010-04-03 Ankit Jain <jankit@novell.com>
* TargetDotNetFrameworkVersion.cs: Add Version40 .
* Task.cs (BuildEngine2): New.
* ToolLocationHelper.cs: Use class/lib/net_* as the path
for the assemblies and targets when running tests.
Environment variable TESTING_MONO is set for testing.
This allows a 4.0 xbuild to build 2.0/3.5 projects.
2010-02-19 Ankit Jain <jankit@novell.com>
* TaskItem.cs: Track api changes.
2010-02-10 Ankit Jain <jankit@novell.com>
* ProcessService.cs (globalEnvironmentVariablesOverride): Use
ProcessStringDictionary instead of StringDictionary.
ProcessStringDictionary retains the case of the keys (env vars
here).
* ToolTask.cs (environmentOverride): Likewise.
2010-02-10 Ankit Jain <jankit@novell.com>
* ToolTask.cs (ExecuteTool): Use the virtual method
Standard*LoggingImportance, instead of the underlying field.
(LogEventsFromTextOutput): Use @importance argument for LogMessage.
(LogToolCommand): Remove MonoTODO.
2010-02-06 Ankit Jain <jankit@novell.com>
* ToolTask.cs (SkipTaskExecution): Use ValidateParameters method.
Remove some MonoTODOs.
2009-11-25 Ankit Jain <jankit@novell.com>
* ToolLocationHelper.cs: Set directory for 3.0 framework
to "2.0"
2009-11-09 Ankit Jain <jankit@novell.com>
* TargetDotNetFrameworkVersion.cs (Version30):
(Version35): New.
* ToolLocationHelper.cs: Support 3.0 and 3.5 also.
2009-10-13 Ankit Jain <jankit@novell.com>
* TaskLoggingHelper.cs:
* ToolTask.cs: Fix warnings.
2009-10-12 Ankit Jain <jankit@novell.com>
* TaskLoggingHelper.cs: Use the buildEngine.ProjectFileOfTaskNode
in the event args.
2009-10-12 Ankit Jain <jankit@novell.com>
* ToolTask.cs (ExecuteTool): Don't set toolOutput to null.
(HandleTaskExecutionErrors): toolOutput can be null.
Set toolOutput to null here.
2009-10-06 Ankit Jain <jankit@novell.com>
* ToolTask.cs (Execute): HandleTaskExecutionErrors is called only
if exitCode != 0.
(ExecuteTool): Move logging of exitcode to HandleTaskExecutionErrors.
Remove MonoTODOs.
* TaskLoggingHelper.cs (LogMessageFromText): New.
(LogMessage): Refactor to use above.
2009-10-02 Ankit Jain <jankit@novell.com>
* AppDomainIsolatedTask.cs (BuildEngine): Init 'log'.
2009-09-29 Ankit Jain <jankit@novell.com>
* ToolTask.cs (ExecuteTool): Use LogToolCommand, instead of
directly logging.
(LogToolCommand): Implement.
2009-09-28 Ankit Jain <jankit@novell.com>
* ToolTask.cs (ProcessOuputTool): Move logging of tool
output from here to ..
(ExecuteTool): .. here. As, ProcessOuputTool can be
overridden.
2009-09-24 Ankit Jain <jankit@novell.com>
* ToolTask.cs (HasLoggedErrors): Add missing property.
2009-09-23 Ankit Jain <jankit@novell.com>
* TaskLoggingHelper.cs (LogErrorFromException): Add missing overload.
2009-09-10 Ankit Jain <jankit@novell.com>
* TaskLoggingHelper.cs (FormatString): Use the unformatted string
even if the args array was empty.
2009-09-08 Ankit Jain <jankit@novell.com>
* ToolTask.cs (LogEventsFromTextOutput): Log message even if its not
identified as an error or a warning.
2009-07-28 Ankit Jain <jankit@novell.com>
* ToolTask (.ctor): Initialize Timeout value.
(Execute): Use HandleTaskExecutionErrors to determine task result. Set
exitCode to the result of ExecuteTool and let HandleTaskExecutionErrors
determine final result of the task.
(RealExecute): Rename to ..
(ExecuteTool): .. this. @responseFileCommands could be empty.
Use specified timeout value for the executing tool.
Rename 'compilerOutput' to 'toolOutput'. Cleanup resources in the
finally block. Move processing of stdout/stderr output to ..
(ProcessOutputFile): .. here and ..
(LogEventsFromTextOutput): .. here.
(HandleTaskExecutionErrors): Implement.
(DeleteTempFile): Implement.
2009-04-24 Ankit Jain <jankit@novell.com>
* ToolTask.cs (RealExecute): Handle TypeLoadExceptions, compiler
crashes and report them. Borrow some tricks from md.
(LogEventsFromTextOutput): Ignore known non-error messages. Don't
log unknown lines, crashes get handled elsewhere.
2009-04-08 Ankit Jain <jankit@novell.com>
Fix bug #491828.
* ToolTask.cs (LogEventsFromTextOutput): Log even in case of
unrecognized errors.
2009-02-25 Ankit Jain <jankit@novell.com>
* ProcessService.cs, IAsyncOperation.cs, IProcessAsyncOperation.cs,
ProcessWrapper.cs: Brought in from monodevelop.
* ToolTask.cs: Use the new ProcessService to execute the tool. Honor
SkipTaskExecution (). Use response files, but log the contents of the
response file instead of "@foo.rsp". Support environmentOverrides.
(LogEventsFromTextOutput): Add null check.
* Exec.cs (GetWorkingDirectory): Use the workingDirectory property.
2009-02-20 Ankit Jain <jankit@novell.com>
Fix bug #475438.
* ToolTask.cs (RealExecute): Check whether the target executable exists.
Log any execution errors.
2008-08-06 Ankit Jain <jankit@novell.com>
* CommandLineBuilder.cs (AppendSwitchIfNotNull): Quote individual items
of the array.
2008-07-31 Ankit Jain <jankit@novell.com>
* CommandLineBuilder.cs (chars): Use a char array instead of a
hashtable. Add ';' to the list.
(embeddedQuotes): Regex not required.
(IsQuotingRequired): Update.
(VerifyThrowNoEmbeddedDoubleQuotes): Update.
Use VerifyThrowNoEmbeddedDoubleQuotes at appropriate points (see tests).
2007-05-16 Marek Sieradzki <marek.sieradzki@gmail.com>
* CommandLineBuilder.cs: Add quotes when there are needed.
2007-01-06 Marek Sieradzki <marek.sieradzki@gmail.com>
* ToolLocationHelper.cs: Implemented GetPathToDotNetFramework () and
GetPathToDotNetFrameworkSdk ().
2006-12-29 Marek Sieradzki <marek.sieradzki@gmail.com>
* ToolTask.cs (LogEventsFromTextOutput): This method is actually
protected so we can't remove second parameter.
2006-12-19 Marek Sieradzki <marek.sieradzki@gmail.com>
* Logger.cs (FormatErrorEvent, FormatWarningEvent): Write only (a) or
(a,b) or (a,b,c,d).
* CommandLineBuilder.cs: Added null checks.
2006-12-18 Marek Sieradzki <marek.sieradzki@gmail.com>
* CommandLineBuilder.cs (VerifyThrowNoEmbeddedDoubleQuotes):
Implemented.
2006-12-04 Marek Sieradzki <marek.sieradzki@gmail.com>
* TaskItem.cs: Add a hack that will replace '\\' with
Path.DirectorySeparatorChar.
2006-12-04 Marek Sieradzki <marek.sieradzki@gmail.com>
* ToolTask.cs: Changed importance to Normal.
2006-10-08 Marek Sieradzki <marek.sieradzki@gmail.com>
* TaskLoggingHelper.cs: Changed "" to String.Empty.
2006-10-06 Marek Sieradzki <marek.sieradzki@gmail.com>
* TaskLoggingHelper.cs: Made LogErrorFromException () show stack trace
by default.
2006-09-30 Marek Sieradzki <marek.sieradzki@gmail.com>
* ReservedNameUtils.cs: Added a null check.
2006-06-22 Marek Sieradzki <marek.sieradzki@gmail.com>
* ToolTask.cs: Added some [MonoTODO]s.
2006-05-27 Marek Sieradzki <marek.sieradzki@gmail.com>
* CommandLineBuilder.cs: Corrected IsQuotingRequired ().
* TaskLoggingHelper.cs: Added null check.
2006-05-26 Marek Sieradzki <marek.sieradzki@gmail.com>
* Logger.cs: Added MonoTODO.
* TaskLoggingHelper.cs: Changed helpKeywordPrefix to helpKeyword. It
looks like it's still wrong.
2006-05-03 Marek Sieradzki <marek.sieradzki@gmail.com>
* ToolTask.cs: Fixed exit code.
2006-04-24 Marek Sieradzki <marek.sieradzki@gmail.com>
* ToolTask.cs, TaskItem.cs: Small fixes.
* TaskLoggingHelper.cs: Added checking for null parameters.
2006-04-14 Marek Sieradzki <marek.sieradzki@gmail.com>
* TaskItem.cs: Moved checking if metadata name is reserved to internal
class (Mono.XBuild.Utilities.ReservedNameUtils).
2006-03-29 Marek Sieradzki <marek.sieradzki@gmail.com>
* TaskItem.cs: Coding style changes.
2006-03-29 Crestez Leonard <cdleonard@gmail.com>
* TaskItem.cs: Cleaned up.
2006-03-11 Marek Sieradzki <marek.sieradzki@gmail.com>
* CommandLineBuilder.cs: Corrected exceptions throwing.
* TaskItem.cs: Fixed MetadataNames property.
2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com>
* CommandLineBuilder.cs: Fixed a typo.
* HostObjectInitializationStatus.cs: Fixed order.
* ToolTask.cs: Updated for new API.
2006-02-25 Marek Sieradzki <marek.sieradzki@gmail.com>
* HostObjectInitializationStatus.cs: Added.
2006-02-25 Marek Sieradzki <marek.sieradzki@gmail.com>
* CommandLineBuilder.cs, Logger.cs, TaskLoggingHelper.cs, ToolTask.cs
: Updated API.
2006-02-24 Marek Sieradzki <marek.sieradzki@gmail.com>
* AppDomainIsolatedTask.cs, Task.cs: Quick hacks to make it compile with
new API.
2005-09-22 Marek Sieradzki <marek.sieradzki@gmail.com>
* CommandLineBuilder.cs, Logger.cs, AppDomainIsolatedTask.cs,
ToolTask.cs, TaskItem.cs, Task.cs, ToolLocationHelper.cs,
TargetDotNetFrameworkVersion.cs, ConcurrentLoggingHelper.cs,
TaskLoggingHelper.cs: Added #if NET_2_0.
2005-09-21 Marek Sieradzki <marek.sieradzki@gmail.com>
* ToolTask.cs: Formatting.
* TaskItem.cs: Removed obsoleted code.
* ToolLocationHelper.cs: Formatting.
2005-09-09 Marek Sieradzki <marek.sieradzki@gmail.com>
* CommandLineBuilder.cs, Logger.cs, AppDomainIsolatedTask.cs,
ConcurrentLoggingHelper.cs, TaskLoggingHelper.cs: Changed protected
fields to private.
2005-08-30 Marek Sieradzki <marek.sieradzki@gmail.com>
* TaskItem.cs, TaskLoggingHelper.cs: Formatting.
2005-08-27 Marek Sieradzki <marek.sieradzki@gmail.com>
* Logger.cs: Formatting.
* ToolTask.cs: Added error/warning handling.
* TaskLoggingHelper.cs: Fixed LogErrorFromException ().
2005-08-24 Marek Sieradzki <marek.sieradzki@gmail.com>
* CommandLineBuilder.cs: Added checking for null values.
* ToolTask.cs: Added real execution.
* Task.cs: Changed all fields to private.
* TaskLoggingHelper.cs: Formatting.
2005-08-19 Marek Sieradzki <marek.sieradzki@gmail.com>
* TaskItem.cs: MetadataCount fixed.
2005-08-16 Marek Sieradzki <marek.sieradzki@gmail.com>
* Task.cs: Added creation of TaskLoggingHelper.cs.
* TaskLoggingHelper.cs: Ctor uses Task's BuildEngine.
2005-08-14 Marek Sieradzki <marek.sieradzki@gmail.com>
* TaskItem.cs: Added GetMetadata and fixed other functions.
2005-08-12 Marek Sieradzki <marek.sieradzki@gmail.com>
* CommandLineBuilder.cs: Add appending spaces (currently commented)
* ToolTask.cs: Add process.
2005-08-06 Marek Sieradzki <marek.sieradzki@gmail.com>
* AppDomainIsolatedTask.cs, CommandLineBuilder.cs,
ConcurrentLoggingHelper.cs, Logger.cs, Task.cs, TaskItem.cs,
TaskLoggingHelper.cs, ToolTask.cs: Various fixes.
2005-07-13 Marek Sieradzki <marek.sieradzki@gmail.com>
* Logger.cs, AppDomainIsolatedTask.cs, ToolTask.cs, TaskItem.cs,
ConcurrentLoggingHelper.cs, TaskLoggingHelper.cs: Small fixes, still
unusable
2005-07-05 Marek Sieradzki <marek.sieradzki@gmail.com>
* AppDomainIsolatedTask.cs, CommandLineBuilder.cs,
ConcurrentLoggingHelper.cs, Logger.cs, MonoTODOAttribute.cs,
TargetDotNetFrameworkVersion.cs, Task.cs, TaskItem.cs,
TaskLoggingHelper.cs, ToolLocationHelper.cs, ToolTask.cs: Initial
check-in, very buggy

View File

@@ -0,0 +1,375 @@
//
// CommandLineBuilder.cs: Builds command line options string
//
// Author:
// Marek Sieradzki (marek.sieradzki@gmail.com)
//
// (C) 2005 Marek Sieradzki
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#if NET_2_0
using System;
using System.Collections;
using System.Text;
using System.Text.RegularExpressions;
using Microsoft.Build.Framework;
namespace Microsoft.Build.Utilities
{
public class CommandLineBuilder
{
StringBuilder commandLine;
static char [] chars;
static CommandLineBuilder ()
{
chars = new char [] {' ', '\t', '\n', '\u000b', '\u000c', '\'', '\"', ';'};
}
public CommandLineBuilder ()
{
commandLine = new StringBuilder ();
}
public void AppendFileNameIfNotNull (string fileName)
{
if (fileName == null)
return;
VerifyThrowNoEmbeddedDoubleQuotes (null, fileName);
AppendSpaceIfNotEmpty ();
AppendFileNameWithQuoting (fileName);
}
public void AppendFileNameIfNotNull (ITaskItem fileItem)
{
if (fileItem == null)
return;
string filename = fileItem.ToString ();
VerifyThrowNoEmbeddedDoubleQuotes (null, filename);
AppendSpaceIfNotEmpty ();
AppendFileNameWithQuoting (filename);
}
public void AppendFileNamesIfNotNull (string[] fileNames,
string delimiter)
{
if (delimiter == null)
throw new ArgumentNullException (null, "Parameter \"delimiter\" cannot be null.");
if (fileNames == null)
return;
bool appendDelimiter = false;
AppendSpaceIfNotEmpty ();
for (int i = 0; i < fileNames.Length; i++) {
string filename = fileNames [i];
if (filename == null)
continue;
VerifyThrowNoEmbeddedDoubleQuotes (null, filename);
if (appendDelimiter) {
commandLine.Append (delimiter);
AppendFileNameWithQuoting (filename);
} else {
AppendFileNameWithQuoting (filename);
appendDelimiter = true;
}
}
}
public void AppendFileNamesIfNotNull (ITaskItem[] fileItems,
string delimiter)
{
if (delimiter == null)
throw new ArgumentNullException (null, "Parameter \"delimiter\" cannot be null.");
if (fileItems == null)
return;
bool appendDelimiter = false;
AppendSpaceIfNotEmpty ();
for (int i = 0; i < fileItems.Length; i++) {
string filename = fileItems [i].ToString ();
if (fileItems [i] == null)
continue;
VerifyThrowNoEmbeddedDoubleQuotes (null, filename);
if (appendDelimiter) {
commandLine.Append (delimiter);
AppendFileNameWithQuoting (filename);
} else {
AppendFileNameWithQuoting (filename);
appendDelimiter = true;
}
}
}
protected void AppendFileNameWithQuoting (string fileName)
{
if (fileName == null)
return;
if (IsQuotingRequired (fileName))
commandLine.AppendFormat ("\"{0}\"",fileName);
else
commandLine.Append (fileName);
}
protected void AppendSpaceIfNotEmpty ()
{
if (commandLine.Length != 0)
commandLine.Append (' ');
}
public void AppendSwitch (string switchName)
{
if (switchName == null)
throw new ArgumentNullException (null, "Parameter \"switchName\" cannot be null.");
AppendSpaceIfNotEmpty ();
commandLine.Append (switchName);
}
public void AppendSwitchIfNotNull (string switchName,
string parameter)
{
if (switchName == null)
throw new ArgumentNullException (null, "Parameter \"switchName\" cannot be null.");
if (parameter == null)
return;
VerifyThrowNoEmbeddedDoubleQuotes (switchName, parameter);
AppendSpaceIfNotEmpty ();
commandLine.Append (switchName);
AppendTextWithQuoting (parameter);
}
public void AppendSwitchIfNotNull (string switchName,
ITaskItem parameter)
{
if (switchName == null)
throw new ArgumentNullException (null, "Parameter \"switchName\" cannot be null.");
if (parameter == null)
return;
string value = parameter.ToString ();
VerifyThrowNoEmbeddedDoubleQuotes (switchName, value);
AppendSpaceIfNotEmpty ();
commandLine.Append (switchName);
AppendTextWithQuoting (value);
}
public void AppendSwitchIfNotNull (string switchName,
string[] parameters,
string delimiter)
{
if (switchName == null)
throw new ArgumentNullException (null, "Parameter \"switchName\" cannot be null.");
if (delimiter == null)
throw new ArgumentNullException (null, "Parameter \"delimiter\" cannot be null.");
if (parameters == null)
return;
AppendSpaceIfNotEmpty ();
commandLine.AppendFormat ("{0}",switchName);
bool appendDelimiter = false;
for (int i = 0; i < parameters.Length; i++) {
string value = parameters [i];
if (value == null)
continue;
VerifyThrowNoEmbeddedDoubleQuotes (switchName, value);
if (appendDelimiter) {
commandLine.Append (delimiter);
AppendTextWithQuoting (value);
} else {
AppendTextWithQuoting (value);
appendDelimiter = true;
}
}
}
public void AppendSwitchIfNotNull (string switchName,
ITaskItem[] parameters,
string delimiter)
{
if (switchName == null)
throw new ArgumentNullException (null, "Parameter \"switchName\" cannot be null.");
if (delimiter == null)
throw new ArgumentNullException (null, "Parameter \"delimiter\" cannot be null.");
if (parameters == null)
return;
AppendSpaceIfNotEmpty ();
commandLine.AppendFormat ("{0}",switchName);
bool appendDelimiter = false;
for (int i = 0; i < parameters.Length; i++) {
string value = parameters [i].ToString ();
if (value == null)
continue;
VerifyThrowNoEmbeddedDoubleQuotes (switchName, value);
if (appendDelimiter) {
commandLine.Append (delimiter);
AppendTextWithQuoting (value);
} else {
AppendTextWithQuoting (value);
appendDelimiter = true;
}
}
}
public void AppendSwitchUnquotedIfNotNull (string switchName,
string parameter)
{
if (switchName == null)
throw new ArgumentNullException (null, "Parameter \"switchName\" cannot be null.");
if (parameter == null)
return;
AppendSpaceIfNotEmpty ();
commandLine.AppendFormat ("{0}{1}", switchName, parameter);
}
public void AppendSwitchUnquotedIfNotNull (string switchName,
ITaskItem parameter)
{
if (switchName == null)
throw new ArgumentNullException (null, "Parameter \"switchName\" cannot be null.");
if (parameter == null)
return;
AppendSpaceIfNotEmpty ();
commandLine.AppendFormat ("{0}{1}", switchName, parameter.ItemSpec);
}
public void AppendSwitchUnquotedIfNotNull (string switchName,
string[] parameters,
string delimiter)
{
if (switchName == null)
throw new ArgumentNullException (null, "Parameter \"switchName\" cannot be null.");
if (delimiter == null)
throw new ArgumentNullException (null, "Parameter \"delimiter\" cannot be null.");
if (parameters == null)
return;
AppendSpaceIfNotEmpty ();
commandLine.AppendFormat ("{0}",switchName);
bool appendDelimiter = false;
for (int i = 0; i < parameters.Length; i++) {
if (parameters [i] == null)
continue;
if (appendDelimiter) {
commandLine.Append (delimiter);
commandLine.Append (parameters [i]);
} else {
commandLine.Append (parameters [i]);
appendDelimiter = true;
}
}
}
public void AppendSwitchUnquotedIfNotNull (string switchName,
ITaskItem[] parameters,
string delimiter)
{
if (switchName == null)
throw new ArgumentNullException (null, "Parameter \"switchName\" cannot be null.");
if (delimiter == null)
throw new ArgumentNullException (null, "Parameter \"delimiter\" cannot be null.");
if (parameters == null)
return;
AppendSpaceIfNotEmpty ();
commandLine.AppendFormat ("{0}",switchName);
bool appendDelimiter = false;
for (int i = 0; i < parameters.Length; i++) {
if (parameters [i] == null)
continue;
if (appendDelimiter) {
commandLine.Append (delimiter);
commandLine.Append (parameters [i].ToString ());
} else {
commandLine.Append (parameters [i].ToString ());
appendDelimiter = true;
}
}
}
protected void AppendTextUnquoted (string textToAppend)
{
commandLine.Append (textToAppend);
}
protected void AppendTextWithQuoting (string textToAppend)
{
if (textToAppend == null)
return;
if (IsQuotingRequired (textToAppend))
commandLine.AppendFormat ("\"{0}\"",textToAppend);
else
commandLine.Append (textToAppend);
}
protected virtual bool IsQuotingRequired (string parameter)
{
return parameter != null && parameter.IndexOfAny (chars) >= 0;
}
protected virtual void VerifyThrowNoEmbeddedDoubleQuotes (string switchName,
string parameter)
{
if (parameter != null && parameter.IndexOf ('"') >= 0)
throw new ArgumentException (
String.Format ("Illegal quote passed to the command line switch named \"{0}\". The value was [{1}].",
switchName, parameter));
}
public override string ToString ()
{
return commandLine.ToString ();
}
protected StringBuilder CommandLine {
get {
return commandLine;
}
}
}
}
#endif

View File

@@ -0,0 +1,41 @@
//
// HostObjectInitializationStatus.cs: Defines the next action for ToolTask
// after an attempt to initialize the host object.
//
// Author:
// Marek Sieradzki (marek.sieradzki@gmail.com)
//
// (C) 2005 Marek Sieradzki
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#if NET_2_0
namespace Microsoft.Build.Utilities
{
public enum HostObjectInitializationStatus {
UseHostObjectToExecute,
UseAlternateToolToExecute,
NoActionReturnSuccess,
NoActionReturnFailure
}
}
#endif

Some files were not shown because too many files have changed in this diff Show More