diff options
Diffstat (limited to 'mcs/class/Microsoft.Build.Engine')
40 files changed, 1162 insertions, 131 deletions
diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildItem.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildItem.cs index 7af5791988a..cda565e7c40 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildItem.cs +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildItem.cs @@ -37,7 +37,7 @@ using Microsoft.Build.Framework; using Microsoft.Build.Utilities; namespace Microsoft.Build.BuildEngine { - public class BuildItem { + public class BuildItem : IBuildItem { BuildItemGroup childs; XmlAttribute condition; @@ -113,7 +113,7 @@ namespace Microsoft.Build.BuildEngine { this.unevaluatedMetadata = (Hashtable) item.CloneCustomMetadata (); } - public void CopyCustomMetadataTo (BuildItem destinationItem) + public void CopyCustomMetadataTo (IBuildItem destinationItem) { foreach (DictionaryEntry de in unevaluatedMetadata) destinationItem.SetMetadata ((string) de.Key, (string) de.Value); diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildItemGroup.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildItemGroup.cs index 525c4fc3c64..2379e498ca3 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildItemGroup.cs +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildItemGroup.cs @@ -35,7 +35,7 @@ using Microsoft.Build.Framework; using Microsoft.Build.Utilities; namespace Microsoft.Build.BuildEngine { - public class BuildItemGroup : IEnumerable { + public class BuildItemGroup : ItemPropertyGroupingBase, IBuildItemGroup, IEnumerable { XmlAttribute condition; bool isImported; @@ -96,7 +96,7 @@ namespace Microsoft.Build.BuildEngine { return big; } - internal void Evaluate (BuildPropertyGroup parentPropertyBag, + public override void Evaluate (BuildPropertyGroup parentPropertyBag, bool ignoreCondition, bool honorCondition, Hashtable conditionedPropertiesTable, diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildItemGroupCollection.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildItemGroupCollection.cs index 12662010332..b0a450d7026 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildItemGroupCollection.cs +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildItemGroupCollection.cs @@ -31,16 +31,16 @@ using System; using System.Collections; namespace Microsoft.Build.BuildEngine { - public class BuildItemGroupCollection : ICollection, IEnumerable { + public class BuildItemGroupCollection : IBuildItemGroupCollection, ICollection, IEnumerable { GroupingCollection groupingCollection; - private BuildItemGroupCollection () + public BuildItemGroupCollection () { groupingCollection = new GroupingCollection (); } - internal BuildItemGroupCollection (GroupingCollection groupingCollection) + public BuildItemGroupCollection (GroupingCollection groupingCollection) { this.groupingCollection = groupingCollection; } diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildProperty.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildProperty.cs index ddf5cb6b6f7..2a3491d32af 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildProperty.cs +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildProperty.cs @@ -32,7 +32,7 @@ using System.Text; using System.Xml; namespace Microsoft.Build.BuildEngine { - public class BuildProperty { + public class BuildProperty : IBuildProperty { XmlElement propertyElement; XmlAttribute condition; diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildPropertyGroup.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildPropertyGroup.cs index 8075d2484e6..69a80556945 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildPropertyGroup.cs +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildPropertyGroup.cs @@ -35,7 +35,7 @@ using System.Text; using System.Xml; namespace Microsoft.Build.BuildEngine { - public class BuildPropertyGroup : IEnumerable { + public class BuildPropertyGroup : ItemPropertyGroupingBase, IBuildPropertyGroup, IEnumerable { XmlElement propertyGroup; XmlAttribute condition; @@ -122,7 +122,7 @@ namespace Microsoft.Build.BuildEngine { } // FIXME: what it is doing? - internal void Evaluate (BuildPropertyGroup evaluatedPropertyBag, + public override void Evaluate (BuildPropertyGroup evaluatedPropertyBag, bool ignoreCondition, bool honorCondition, Hashtable conditionedPropertiesTable, diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildPropertyGroupCollection.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildPropertyGroupCollection.cs index abbea0bf1d5..6c3c3987e04 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildPropertyGroupCollection.cs +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildPropertyGroupCollection.cs @@ -31,16 +31,16 @@ using System; using System.Collections; namespace Microsoft.Build.BuildEngine { - public class BuildPropertyGroupCollection : ICollection, IEnumerable { + public class BuildPropertyGroupCollection : IBuildPropertyGroupCollection, ICollection, IEnumerable { GroupingCollection groupingCollection; - private BuildPropertyGroupCollection () + public BuildPropertyGroupCollection () { groupingCollection = new GroupingCollection (); } - internal BuildPropertyGroupCollection (GroupingCollection groupingCollection) + public BuildPropertyGroupCollection (GroupingCollection groupingCollection) { this.groupingCollection = groupingCollection; } diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ChangeLog b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ChangeLog index 344049c8ac3..69962621636 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ChangeLog +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ChangeLog @@ -1,46 +1,3 @@ -2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com> - - * IBuildProperty.cs, ICultureStringUtilities.cs, IProject.cs, - IGlobalEngineAccessor.cs, ITaskElement.cs, IBuildPropertyGroup.cs, - ITargetCollection.cs, IEngine.cs, IBuildItemGroupCollection.cs, - IHostLogger.cs, IBuildItem.cs, IHostFeedback.cs, - ILangSecurityLevelChecker.cs, ITarget.cs, IBuildItemGroup.cs, - IBuildPropertyGroupCollection.cs: Removed. - -2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com> - - * BuildItem.cs: Removed IBuildItem references. - * BuildItemGroup.cs: Removed ItemPropertyGroupingBase and - IBuildItemGroup references. Changed Evaluate to internal. - * BuildItemGroupCollection.cs. Removed IBuildItemGroupCollection - reference and hidden constructors. - * BuildProperty.cs: Removed IBuildProperty reference. - * BuildPropertyGroup.cs: Removed ItemPropertyGroupingBase and - IBuildPropertyGroup references. Changed Evaluate to internal. - * BuildPropertyGroupCollection.cs: Removed IBuildPropertyGroupCollection - reference and hidden constructors. - * ConsoleLogger.cs: Updated names of event handlers. - * Engine.cs: Removed IEngine reference. Removed ClearAllProjects and - Escape. Added UnloadAllProjects () and UnloadProject (). - * FileLogger.cs: Removed ApplyParameter (). - * GroupingCollection.cs: Hidden. - * InvalidProjectFileException.cs: Removed HasBeenLogged property. - * ItemPropertyGroupingBase.cs: Commented. - * ProcessingPass.cs: Hidden. - * Project.cs: Removed IProject reference. Changed CurrentEncoding to - Encoding. - * Target.cs: Removed ITarget reference. - * TargetCollection.cs: Removed ITargetCollection reference. - * TaskElement.cs: Removed ITaskElement reference. - * TaskEngineAssemblyResolver.cs: Hidden. - * Utilities.cs: Made static class, removed CheckPath (), - ValidateCulture (), GetSupportedCultures () and added Escape (). - -2006-02-24 Marek Sieradzki <marek.sieradzki@gmail.com> - - * ConsoleLogger.cs, Engine.cs: Quick hacks to make it compile with new - API. - 2005-09-22 Marek Sieradzki <marek.sieradzki@gmail.com> * Project.cs: Added MonoTODO attributes. diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConsoleLogger.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConsoleLogger.cs index 4a88643dae4..da9c296d14e 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConsoleLogger.cs +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConsoleLogger.cs @@ -71,28 +71,28 @@ namespace Microsoft.Build.BuildEngine { public virtual void Initialize (IEventSource eventSource) { - eventSource.BuildStarted += new BuildStartedEventHandler (BuildStartedHandler); - eventSource.BuildFinished += new BuildFinishedEventHandler (BuildFinishedHandler); - eventSource.ProjectStarted += new ProjectStartedEventHandler (ProjectStartedHandler); - eventSource.ProjectFinished += new ProjectFinishedEventHandler (ProjectFinishedHandler); - eventSource.TargetStarted += new TargetStartedEventHandler (TargetStartedHandler); - eventSource.TargetFinished += new TargetFinishedEventHandler (TargetFinishedHandler); - eventSource.TaskStarted += new TaskStartedEventHandler (TaskStartedHandler); - eventSource.TaskFinished += new TaskFinishedEventHandler (TaskFinishedHandler); - eventSource.MessageRaised += new BuildMessageEventHandler (MessageHandler); - eventSource.WarningRaised += new BuildWarningEventHandler (WarningHandler); - eventSource.ErrorRaised += new BuildErrorEventHandler (ErrorHandler); + eventSource.BuildStarted += new BuildStartedEventHandler (BuildStarted); + eventSource.BuildFinished += new BuildFinishedEventHandler (BuildFinished); + eventSource.ProjectStarted += new ProjectStartedEventHandler (ProjectStarted); + eventSource.ProjectFinished += new ProjectFinishedEventHandler (ProjectFinished); + eventSource.TargetStarted += new TargetStartedEventHandler (TargetStarted); + eventSource.TargetFinished += new TargetFinishedEventHandler (TargetFinished); + eventSource.TaskStarted += new TaskStartedEventHandler (TaskStarted); + eventSource.TaskFinished += new TaskFinishedEventHandler (TaskFinished); + eventSource.MessageRaised += new BuildMessageEventHandler (MessageRaised); + eventSource.WarningRaised += new BuildWarningEventHandler (WarningRaised); + eventSource.ErrorRaised += new BuildErrorEventHandler (ErrorRaised); } - public void BuildStartedHandler (object sender, BuildStartedEventArgs args) + public void BuildStarted (object sender, BuildStartedEventArgs args) { WriteLine (""); - WriteLine (String.Format ("Build started {0}.", args.Timestamp)); + WriteLine (String.Format ("Build started {0}.", args.TimeStamp)); WriteLine ("__________________________________________________"); - buildStart = args.Timestamp; + buildStart = args.TimeStamp; } - public void BuildFinishedHandler (object sender, BuildFinishedEventArgs args) + public void BuildFinished (object sender, BuildFinishedEventArgs args) { if (args.Succeeded == true) { WriteLine ("Build succeeded."); @@ -102,7 +102,7 @@ namespace Microsoft.Build.BuildEngine { if (performanceSummary == true) ; if (summary == true){ - TimeSpan timeElapsed = args.Timestamp - buildStart; + TimeSpan timeElapsed = args.TimeStamp - buildStart; WriteLine (String.Format ("\t {0} Warning(s)", warningCount)); WriteLine (String.Format ("\t {0} Error(s)", errorCount)); WriteLine (""); @@ -110,13 +110,13 @@ namespace Microsoft.Build.BuildEngine { } } - public void ProjectStartedHandler (object sender, ProjectStartedEventArgs args) + public void ProjectStarted (object sender, ProjectStartedEventArgs args) { WriteLine (String.Format ("Project \"{0}\" ({1} target(s)):", args.ProjectFile, args.TargetNames)); WriteLine (""); } - public void ProjectFinishedHandler (object sender, ProjectFinishedEventArgs args) + public void ProjectFinished (object sender, ProjectFinishedEventArgs args) { if (IsVerbosityGreaterOrEqual (LoggerVerbosity.Diagnostic)) { WriteLine (String.Format ("Done building project \"{0}\".", args.ProjectFile)); @@ -124,13 +124,13 @@ namespace Microsoft.Build.BuildEngine { } } - public void TargetStartedHandler (object sender, TargetStartedEventArgs args) + public void TargetStarted (object sender, TargetStartedEventArgs args) { WriteLine (String.Format ("Target {0}:",args.TargetName)); indent++; } - public void TargetFinishedHandler (object sender, TargetFinishedEventArgs args) + public void TargetFinished (object sender, TargetFinishedEventArgs args) { indent--; if (IsVerbosityGreaterOrEqual (LoggerVerbosity.Diagnostic)) @@ -139,35 +139,35 @@ namespace Microsoft.Build.BuildEngine { WriteLine (""); } - public void TaskStartedHandler (object sender, TaskStartedEventArgs args) + public void TaskStarted (object sender, TaskStartedEventArgs args) { if (this.verbosity == LoggerVerbosity.Diagnostic) WriteLine (String.Format ("Task \"{0}\"",args.TaskName)); indent++; } - public void TaskFinishedHandler (object sender, TaskFinishedEventArgs args) + public void TaskFinished (object sender, TaskFinishedEventArgs args) { indent--; if (this.verbosity == LoggerVerbosity.Diagnostic) WriteLine (String.Format ("Done executing task \"{0}\"",args.TaskName)); } - public void MessageHandler (object sender, BuildMessageEventArgs args) + public void MessageRaised (object sender, BuildMessageEventArgs args) { if (IsMessageOk (args)) { WriteLine (args.Message); } } - public void WarningHandler (object sender, BuildWarningEventArgs args) + public void WarningRaised (object sender, BuildWarningEventArgs args) { if (IsVerbosityGreaterOrEqual (LoggerVerbosity.Normal)) WriteLineWithoutIndent (FormatWarningEvent (args)); warningCount++; } - public void ErrorHandler (object sender, BuildErrorEventArgs args) + public void ErrorRaised (object sender, BuildErrorEventArgs args) { if (IsVerbosityGreaterOrEqual (LoggerVerbosity.Minimal)) WriteLineWithoutIndent (FormatErrorEvent (args)); @@ -305,4 +305,4 @@ namespace Microsoft.Build.BuildEngine { } } -#endif +#endif
\ No newline at end of file diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Engine.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Engine.cs index cd045494e1f..3593134bd90 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Engine.cs +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Engine.cs @@ -32,10 +32,11 @@ using System.Collections; using Microsoft.Build.Framework; namespace Microsoft.Build.BuildEngine { - public class Engine { + public class Engine : IEngine { string binPath; bool buildEnabled; + const string engineVersion = "0.1"; BuildPropertyGroup environmentProperties; EventSource eventSource; bool buildStarted; @@ -48,12 +49,7 @@ namespace Microsoft.Build.BuildEngine { // FIXME: GlobalEngine static property uses this but what about GlobalEngineAccessor? static Engine globalEngine; - static Version version; - static Engine () - { - version = new Version("0.1"); - } public Engine () : this (null) @@ -110,6 +106,11 @@ namespace Microsoft.Build.BuildEngine { return result; } + public void ClearAllProjects () + { + projects.Clear (); + } + public Project CreateNewProject () { if (buildStarted == false) { @@ -128,6 +129,12 @@ namespace Microsoft.Build.BuildEngine { return p; } + public string Escape (string input) + { + // FIXME: test it, probably returns XML escaped string + return null; + } + public Project GetLoadedProject (string projectFullFileName) { return (Project) projects [projectFullFileName]; @@ -140,16 +147,6 @@ namespace Microsoft.Build.BuildEngine { logger.Initialize (eventSource); loggers.Add (logger); } - - [MonoTODO] - public void UnloadAllProjects () - { - } - - [MonoTODO] - public void UnloadProject (Project project) - { - } public void UnregisterAllLoggers () { @@ -176,12 +173,12 @@ namespace Microsoft.Build.BuildEngine { if (targetNames.Length == 0) { if (project.DefaultTargets != String.Empty) psea = new ProjectStartedEventArgs ("Project started.", null, project.FullFileName, - project.DefaultTargets, null, null); + project.DefaultTargets); else - psea = new ProjectStartedEventArgs ("Project started.", null, project.FullFileName, "default", null, null); + psea = new ProjectStartedEventArgs ("Project started.", null, project.FullFileName, "default"); } else psea = new ProjectStartedEventArgs ("Project started.", null, project.FullFileName, String.Join (";", - targetNames), null, null); + targetNames)); eventSource.FireProjectStarted (this, psea); } @@ -216,8 +213,8 @@ namespace Microsoft.Build.BuildEngine { set { buildEnabled = value; } } - public static Version Version { - get { return version; } + public static string EngineVersion { + get { return engineVersion; } } public static Engine GlobalEngine { @@ -240,4 +237,4 @@ namespace Microsoft.Build.BuildEngine { } } -#endif +#endif
\ No newline at end of file diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/FileLogger.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/FileLogger.cs index 865a2b52ec8..d755ffb5cd8 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/FileLogger.cs +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/FileLogger.cs @@ -34,6 +34,11 @@ namespace Microsoft.Build.BuildEngine { public FileLogger () { } + + public override void ApplyParameter (string parameterName, + string parameterValue) + { + } // FIXME: add our handlers to the events public override void Initialize (IEventSource eventSource) diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/GroupingCollection.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/GroupingCollection.cs index 283562aae81..2628244d19c 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/GroupingCollection.cs +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/GroupingCollection.cs @@ -31,7 +31,7 @@ using System.Collections; namespace Microsoft.Build.BuildEngine { - internal class GroupingCollection : IEnumerable { + public class GroupingCollection : IEnumerable { IList allGroups; int itemGroups; diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildItem.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildItem.cs new file mode 100644 index 00000000000..d3c1b0e129d --- /dev/null +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildItem.cs @@ -0,0 +1,74 @@ +// +// IBuildItem.cs: Interface for build items +// +// 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.BuildEngine { + public interface IBuildItem { + void CopyCustomMetadataTo (IBuildItem destinationItem); + + string GetEvaluatedMetadata (string metadataName); + + string GetMetadata (string metadataName); + + bool HasMetadata (string metadataName); + + void RemoveMetadata (string metadataName); + + void SetMetadata (string metadataName, string metadataValue); + + string Condition { + get; + set; + } + + string Exclude { + get; + set; + } + + string FinalItemSpec { + get; + } + + string Include { + get; + set; + } + + bool IsImported { + get; + } + + string Name { + get; + set; + } + } +} + +#endif
\ No newline at end of file diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildItemGroup.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildItemGroup.cs new file mode 100644 index 00000000000..f9ca1b77fd9 --- /dev/null +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildItemGroup.cs @@ -0,0 +1,67 @@ +// +// IBuildItemGroup.cs: Interface for group of build items. +// +// 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.Collections; + +namespace Microsoft.Build.BuildEngine { + public interface IBuildItemGroup { + BuildItem AddNewItem (string itemName, string itemInclude); + + void Clear (); + + BuildItemGroup Clone (bool deepClone); + + IEnumerator GetEnumerator (); + + void RemoveItem (BuildItem itemToRemove); + + void RemoveItemAt (int index); + + BuildItem[] ToArray (); + + string Condition { + get; + set; + } + + int Count { + get; + } + + bool IsImported { + get; + } + + BuildItem this[int index] { + get; + } + } +} + +#endif
\ No newline at end of file diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildItemGroupCollection.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildItemGroupCollection.cs new file mode 100644 index 00000000000..9521f17ad12 --- /dev/null +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildItemGroupCollection.cs @@ -0,0 +1,56 @@ +// +// IBuildItemCollection.cs: Interface for collection holding build items. +// +// 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; + +namespace Microsoft.Build.BuildEngine { + public interface IBuildItemGroupCollection { + void CopyTo (Array array, int index); + + void CopyToStronglyTypedArray (BuildItemGroup[] array, + int index); + + IEnumerator GetEnumerator (); + + int Count { + get; + } + + bool IsSynchronized { + get; + } + + object SyncRoot { + get; + } + } +} + +#endif
\ No newline at end of file diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildProperty.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildProperty.cs new file mode 100644 index 00000000000..5322803f05c --- /dev/null +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildProperty.cs @@ -0,0 +1,56 @@ +// +// IBuildProperty.cs: Interface for build property. +// +// 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.BuildEngine { + public interface IBuildProperty { + BuildProperty Clone (bool deepClone); + + string ToString (); + + string Condition { + get; + set; + } + + string FinalValue { + get; + } + + string Name { + get; + } + + string Value { + get; + set; + } + } +} + +#endif
\ No newline at end of file diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildPropertyGroup.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildPropertyGroup.cs new file mode 100644 index 00000000000..5b4b6506d84 --- /dev/null +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildPropertyGroup.cs @@ -0,0 +1,73 @@ +// +// IBuildPropertyGroup.cs: Interface for group of build properties. +// +// 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.Collections; + +namespace Microsoft.Build.BuildEngine { + public interface IBuildPropertyGroup { + BuildProperty AddNewProperty (string propertyName, + string propertyValue); + + void Clear (); + + BuildPropertyGroup Clone (bool deepClone); + + IEnumerator GetEnumerator (); + + void GetStringArraysForAllProperties (out string[] propertyNames, + out string[] propertyValues, + out string[] propertyFinalValues); + + void RemoveProperty (BuildProperty propertyToRemove); + + void RemovePropertyByName (string propertyNameToRemove); + + void SetProperty (string propertyName, string propertyValue); + + string Condition { + get; + set; + } + + int Count { + get; + } + + bool IsImported { + get; + } + + BuildProperty this[string propertyName] { + get; + set; + } + } +} + +#endif
\ No newline at end of file diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildPropertyGroupCollection.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildPropertyGroupCollection.cs new file mode 100644 index 00000000000..8b42772e422 --- /dev/null +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildPropertyGroupCollection.cs @@ -0,0 +1,56 @@ +// +// IBuildPropertyGroupCollection.cs: Holds group of build properties. +// +// 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; + +namespace Microsoft.Build.BuildEngine { + public interface IBuildPropertyGroupCollection { + void CopyTo (Array array, int index); + + void CopyToStronglyTypedArray (BuildPropertyGroup[] array, + int index); + + IEnumerator GetEnumerator (); + + int Count { + get; + } + + bool IsSynchronized { + get; + } + + object SyncRoot { + get; + } + } +} + +#endif
\ No newline at end of file diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ICultureStringUtilities.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ICultureStringUtilities.cs new file mode 100644 index 00000000000..9da6508dc61 --- /dev/null +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ICultureStringUtilities.cs @@ -0,0 +1,38 @@ +// +// ICultureStringUtilities.cs: +// +// 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.BuildEngine { + public interface ICultureStringUtilities { + string[] GetSupportedCultures (); + + bool ValidateCulture (string culture); + } +} + +#endif
\ No newline at end of file diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IEngine.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IEngine.cs new file mode 100644 index 00000000000..b8f26a32a18 --- /dev/null +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IEngine.cs @@ -0,0 +1,77 @@ +// +// IEngine.cs: Interface for build engine +// +// 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.Collections; +using Microsoft.Build.Framework; + +namespace Microsoft.Build.BuildEngine { + public interface IEngine { + bool BuildProject (Project project, string[] targetNames, + IDictionary targetOutputs); + + bool BuildProjectFile (string projectFileName, + string[] targetNames, + BuildPropertyGroup globalProperties, + IDictionary targetOutputs); + + void ClearAllProjects (); + + Project CreateNewProject (); + + string Escape (string input); + + Project GetLoadedProject (string projectFullFileName); + + void RegisterLogger (ILogger logger); + + void UnregisterAllLoggers (); + + string BinPath { + get; + set; + } + + bool BuildEnabled { + get; + set; + } + + BuildPropertyGroup GlobalProperties { + get; + set; + } + + bool OnlyLogCriticalEvents { + get; + set; + } + } +} + +#endif
\ No newline at end of file diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IGlobalEngineAccessor.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IGlobalEngineAccessor.cs new file mode 100644 index 00000000000..0704821120b --- /dev/null +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IGlobalEngineAccessor.cs @@ -0,0 +1,38 @@ +// +// IGlobalEngineAccessor.cs: Interface for accessor to global engine +// +// 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.BuildEngine { + public interface IGlobalEngineAccessor { + Engine GlobalEngine { + get; + } + } +} + +#endif
\ No newline at end of file diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IHostFeedback.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IHostFeedback.cs new file mode 100644 index 00000000000..ef6a66fde3d --- /dev/null +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IHostFeedback.cs @@ -0,0 +1,48 @@ +// +// IHostFeedback.cs: +// +// 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.BuildEngine { + public interface IHostFeedback { + void BeginLogging (); + + void LogFormattedError (string message, string errorCode, + string helpKeyword, int line, + int column, int endingLine, + int endingColumn, string file, + object additionalInfo); + void LogFormattedWarning (string message, string warningCode, + string helpKeyword, int line, + int column, int endingLine, + int endingColumn, string file, + object additionalInfo); + void LogTextMessage (string message); + } +} + +#endif
\ No newline at end of file diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IHostLogger.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IHostLogger.cs new file mode 100644 index 00000000000..2a929455a7a --- /dev/null +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IHostLogger.cs @@ -0,0 +1,39 @@ +// +// IHostLogger.cs: +// +// 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.BuildEngine { + public interface IHostLogger { + IHostFeedback HostFeedbackObject { + get; + set; + } + } +} + +#endif
\ No newline at end of file diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ILangSecurityLevelChecker.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ILangSecurityLevelChecker.cs new file mode 100644 index 00000000000..a2c9ee55139 --- /dev/null +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ILangSecurityLevelChecker.cs @@ -0,0 +1,36 @@ +// +// ILangSecurityLevelChecker.cs: +// +// 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.BuildEngine { + public interface ILangSecurityLevelChecker { + bool CheckPath (string path, int zone); + } +} + +#endif
\ No newline at end of file diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IProject.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IProject.cs new file mode 100644 index 00000000000..ca3b40f660c --- /dev/null +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IProject.cs @@ -0,0 +1,186 @@ +// +// IProject.cs: +// +// 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.IO; +using System.Xml; + +namespace Microsoft.Build.BuildEngine { + public interface IProject { + void AddNewImport (string importLocation, + string importCondition); + + BuildItem AddNewItem (string itemName, string itemInclude); + + BuildItemGroup AddNewItemGroup (); + + BuildPropertyGroup AddNewPropertyGroup (bool insertAtEndOfProject); + + bool Build (string[] targetNamesToBuild, + IDictionary targetOutputs); + + bool BuildTarget (string targetName, + IDictionary targetOutputs); + + bool BuildTargetWithFlags (string targetName, + IDictionary targetOutputs, + BuildSettings buildFlags); + + string[] GetConditionedPropertyValues (string propertyName); + + string[] GetDirectlyImportedProjects (); + + BuildItemGroup GetEvaluatedItemsByName (string itemName); + + BuildItemGroup GetEvaluatedItemsByNameIgnoringCondition (string itemName); + + string GetEvaluatedProperty (string propertyName); + + string[] GetNonImportedItemNames (); + + string[] GetNonImportedPropertyNames (); + + string[] GetNonImportedTargetNames (); + + string[] GetNonImportedUsingTasks (); + + string GetProjectExtensions (string id); + + void LoadFromFile (string projectFileName); + + void LoadFromXml (XmlDocument projectXml); + + void MarkProjectAsDirty (); + + void RemoveAllItemGroups (); + + void RemoveAllItemsGroupsByCondition (string condition); + + void RemoveAllPropertyGroups (); + + void RemoveAllPropertyGroupsByCondition (string condition); + + void RemoveItem (BuildItem itemToRemove); + + void RemoveItemGroup (BuildItemGroup itemGroupToRemove); + + void RemoveItemsByName (string itemName); + + void RemovePropertyGroup (BuildPropertyGroup propertyGroupToRemove); + + void ResetBuildStatus (); + + void SaveToFile (string projectFileName); + + void SaveToFile (string projectFileName, + ProjectFileEncoding encoding); + + void SaveToTextWriter (TextWriter outTextWriter); + + void SetImportedProperty (string propertyName, + string propertyValue, + string condition, + Project importedProject); + + void SetImportedPropertyAt (string propertyName, + string propertyValue, + string condition, + Project importedProject, + PropertyPosition position); + + void SetProjectExtensions (string id, string xmlText); + + void SetProperty (string propertyName, string propertyValue, + string condition); + + void SetPropertyAt (string propertyName, string propertyValue, + string condition, + PropertyPosition postition); + + void Unload (); + + bool BuildEnabled { + get; + set; + } + + ProjectFileEncoding CurrentProjectFileEncoding { + get; + } + + string DefaultTargets { + get; + set; + } + + BuildItemGroup EvaluatedItems { + get; + } + + BuildItemGroup EvaluatedItemsIgnoringCondition { + get; + } + + BuildPropertyGroup EvaluatedProperties { + get; + } + + string FullFileName { + get; + } + + BuildPropertyGroup GlobalProperties { + get; + set; + } + + bool IsDirty { + get; + } + + BuildItemGroupCollection ItemGroups { + get; + } + + Engine ParentEngine { + get; + } + + BuildPropertyGroupCollection PropertyGroups { + get; + } + + DateTime TimeOfLastDirty { + get; + } + } +} + +#endif
\ No newline at end of file diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ITarget.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ITarget.cs new file mode 100644 index 00000000000..ac662a834d5 --- /dev/null +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ITarget.cs @@ -0,0 +1,52 @@ +// +// ITarget.cs: Interface for target. +// +// 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.Collections; + +namespace Microsoft.Build.BuildEngine { + public interface ITarget { + IEnumerator GetEnumerator (); + + string Condition { + get; + set; + } + + string DependsOnTargets { + get; + set; + } + + string Name { + get; + } + } +} + +#endif
\ No newline at end of file diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ITargetCollection.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ITargetCollection.cs new file mode 100644 index 00000000000..609f168d494 --- /dev/null +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ITargetCollection.cs @@ -0,0 +1,62 @@ +// +// ITargetCollection.cs: +// +// 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.Reflection; + +namespace Microsoft.Build.BuildEngine { + public interface ITargetCollection { + void CopyTo (Array array, int index); + + void CopyToStronglyTypedArray (Target[] array, int index); + + bool Exists (string targetName); + + IEnumerator GetEnumerator (); + + int Count { + get; + } + + bool IsSynchronized { + get; + } + + object SyncRoot { + get; + } + + Target this[string index] { + get; + } + } +} + +#endif
\ No newline at end of file diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ITaskElement.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ITaskElement.cs new file mode 100644 index 00000000000..517ddde90af --- /dev/null +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ITaskElement.cs @@ -0,0 +1,68 @@ +// +// ITaskElement.cs: Interface for element of a task. +// +// 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; + +namespace Microsoft.Build.BuildEngine { + public interface ITaskElement { + bool Execute (); + + string[] GetParameterNames (); + + string GetParameterValue (string attributeName); + + void SetParameterValue (string parameterName, + string parameterValue); + + string Condition { + get; + set; + } + + bool ContinueOnError { + get; + set; + } + + object HostObject { + get; + set; + } + + string Name { + get; + } + + Type Type { + get; + } + } +} + +#endif
\ No newline at end of file diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/InvalidProjectFileException.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/InvalidProjectFileException.cs index 96277a75f10..7ccfc5473e5 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/InvalidProjectFileException.cs +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/InvalidProjectFileException.cs @@ -40,6 +40,7 @@ namespace Microsoft.Build.BuildEngine { int endColumnNumber; string errorCode; string errorSubcategory; + bool hasBeenLogged; string helpKeyword; int lineNumber; int endLineNumber; @@ -108,6 +109,7 @@ namespace Microsoft.Build.BuildEngine { info.AddValue ("EndColumnNumber", endColumnNumber); info.AddValue ("ErrorCode", errorCode); info.AddValue ("ErrorSubcategory", errorSubcategory); + info.AddValue ("HasBeenLogged", hasBeenLogged); info.AddValue ("HelpKeyword", helpKeyword); info.AddValue ("LineNumber", lineNumber); info.AddValue ("EndLineNumber", endLineNumber); @@ -150,6 +152,15 @@ namespace Microsoft.Build.BuildEngine { } } + public bool HasBeenLogged { + get { + return hasBeenLogged; + } + set { + hasBeenLogged = value; + } + } + public string HelpKeyword { get { return helpKeyword; diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ItemPropertyGroupingBase.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ItemPropertyGroupingBase.cs index e81b1ac568b..22b565a9ae2 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ItemPropertyGroupingBase.cs +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ItemPropertyGroupingBase.cs @@ -30,7 +30,7 @@ using System.Collections; namespace Microsoft.Build.BuildEngine { -/* public abstract class ItemPropertyGroupingBase { + public abstract class ItemPropertyGroupingBase { protected ItemPropertyGroupingBase () { @@ -46,7 +46,7 @@ namespace Microsoft.Build.BuildEngine { PropertyGroup, ItemGroup } - }*/ + } } #endif
\ No newline at end of file diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ProcessingPass.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ProcessingPass.cs index 0bea4eb96a8..42eaeea89f5 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ProcessingPass.cs +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ProcessingPass.cs @@ -28,7 +28,7 @@ #if NET_2_0 namespace Microsoft.Build.BuildEngine { - internal enum ProcessingPass { + public enum ProcessingPass { Pass1, Pass2 } diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Project.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Project.cs index f2544d2bc95..e0bf1872dab 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Project.cs +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Project.cs @@ -38,14 +38,14 @@ using Microsoft.Build.Framework; using Mono.XBuild.Framework; namespace Microsoft.Build.BuildEngine { - public class Project { + public class Project : IProject { static string separator = ";"; bool buildEnabled; IDictionary conditionedProperties; + Encoding currentEncoding; string[] defaultTargets; IList directlyImportedProjects; - Encoding encoding; BuildPropertyGroup environmentProperties; BuildItemGroup evaluatedItems; BuildItemGroup evaluatedItemsIgnoringCondition; @@ -351,7 +351,7 @@ namespace Microsoft.Build.BuildEngine { } public void SaveToFile (string projectFileName, - Encoding encoding) + ProjectFileEncoding encoding) { SaveToFile (projectFileName); } @@ -577,8 +577,16 @@ namespace Microsoft.Build.BuildEngine { } } - public Encoding Encoding { - get { return encoding; } + public ProjectFileEncoding CurrentProjectFileEncoding { + get { + if (currentEncoding == Encoding.UTF8) + return ProjectFileEncoding.Utf8; + if (currentEncoding == Encoding.Unicode) + return ProjectFileEncoding.Unicode; + if (currentEncoding == Encoding.GetEncoding ("ANSI")) + return ProjectFileEncoding.Ansi; + throw new Exception (); + } } public string DefaultTargets { diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Target.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Target.cs index daa33c039ed..f3043ecc9f8 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Target.cs +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Target.cs @@ -33,7 +33,7 @@ using System.Xml; using Microsoft.Build.Framework; namespace Microsoft.Build.BuildEngine { - public class Target : IEnumerable { + public class Target : ITarget, IEnumerable { BatchingImpl batchingImpl; BuildState buildState; diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/TargetCollection.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/TargetCollection.cs index 138cbe99f7e..8446284510a 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/TargetCollection.cs +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/TargetCollection.cs @@ -32,7 +32,7 @@ using System.Collections; using System.Reflection; namespace Microsoft.Build.BuildEngine { - public class TargetCollection : ICollection, IEnumerable { + public class TargetCollection : ITargetCollection, ICollection, IEnumerable { IDictionary targetsByName; Project parentProject; diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/TaskElement.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/TaskElement.cs index 0cdb3ad6780..56d434ce5e0 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/TaskElement.cs +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/TaskElement.cs @@ -36,7 +36,7 @@ using Microsoft.Build.Framework; using Microsoft.Build.Utilities; namespace Microsoft.Build.BuildEngine { - public class TaskElement { + public class TaskElement : ITaskElement { XmlAttribute condition; XmlAttribute continueOnError; diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/TaskEngineAssemblyResolver.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/TaskEngineAssemblyResolver.cs index 39216b28bac..8dbccf99f87 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/TaskEngineAssemblyResolver.cs +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/TaskEngineAssemblyResolver.cs @@ -30,7 +30,7 @@ using System; namespace Microsoft.Build.BuildEngine { - internal class TaskEngineAssemblyResolver : MarshalByRefObject { + public class TaskEngineAssemblyResolver : MarshalByRefObject { public TaskEngineAssemblyResolver () { } diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Utilities.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Utilities.cs index 23ef4645171..ca3fb4a6dd5 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Utilities.cs +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Utilities.cs @@ -27,16 +27,27 @@ #if NET_2_0 -using System; - namespace Microsoft.Build.BuildEngine { - public static class Utilities { - [MonoTODO] - public static string Escape (string unescapedExpression) + public class Utilities : ILangSecurityLevelChecker, ICultureStringUtilities { + public Utilities () + { + } + + public bool CheckPath (string path, int zone) + { + return true; + } + + public string[] GetSupportedCultures () { return null; } + + public bool ValidateCulture (string culture) + { + return true; + } } } -#endif +#endif
\ No newline at end of file diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.Engine.dll.sources b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.Engine.dll.sources index a85738162ef..48e58b634c4 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.Engine.dll.sources +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.Engine.dll.sources @@ -20,17 +20,37 @@ Microsoft.Build.BuildEngine/Engine.cs Microsoft.Build.BuildEngine/EventSource.cs Microsoft.Build.BuildEngine/Expression.cs Microsoft.Build.BuildEngine/FileLogger.cs +Microsoft.Build.BuildEngine/GlobalEngineAccessor.cs Microsoft.Build.BuildEngine/GroupingCollection.cs +Microsoft.Build.BuildEngine/HostLogger.cs +Microsoft.Build.BuildEngine/IBuildItem.cs +Microsoft.Build.BuildEngine/IBuildItemGroupCollection.cs +Microsoft.Build.BuildEngine/IBuildItemGroup.cs +Microsoft.Build.BuildEngine/IBuildProperty.cs +Microsoft.Build.BuildEngine/IBuildPropertyGroupCollection.cs +Microsoft.Build.BuildEngine/IBuildPropertyGroup.cs +Microsoft.Build.BuildEngine/ICultureStringUtilities.cs +Microsoft.Build.BuildEngine/IEngine.cs +Microsoft.Build.BuildEngine/IGlobalEngineAccessor.cs +Microsoft.Build.BuildEngine/IHostFeedback.cs +Microsoft.Build.BuildEngine/IHostLogger.cs +Microsoft.Build.BuildEngine/ILangSecurityLevelChecker.cs Microsoft.Build.BuildEngine/ImportedProject.cs Microsoft.Build.BuildEngine/InternalLoggerException.cs Microsoft.Build.BuildEngine/InvalidProjectFileException.cs +Microsoft.Build.BuildEngine/IProject.cs +Microsoft.Build.BuildEngine/ITargetCollection.cs +Microsoft.Build.BuildEngine/ITarget.cs +Microsoft.Build.BuildEngine/ITaskElement.cs Microsoft.Build.BuildEngine/ItemPropertyGroupingBase.cs Microsoft.Build.BuildEngine/ItemReference.cs Microsoft.Build.BuildEngine/MetadataReference.cs Microsoft.Build.BuildEngine/ProcessingPass.cs Microsoft.Build.BuildEngine/Project.cs +Microsoft.Build.BuildEngine/ProjectFileEncoding.cs Microsoft.Build.BuildEngine/PropertyPosition.cs Microsoft.Build.BuildEngine/PropertyReference.cs +Microsoft.Build.BuildEngine/SolutionParser.cs Microsoft.Build.BuildEngine/TargetCollection.cs Microsoft.Build.BuildEngine/Target.cs Microsoft.Build.BuildEngine/TaskDatabase.cs diff --git a/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/ChangeLog b/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/ChangeLog index 57f13cadf79..2153c5047e4 100644 --- a/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/ChangeLog +++ b/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/ChangeLog @@ -1,7 +1,3 @@ -2006-02-27 Marek Sieradzki <marek.sieradzki@gmail.com> - - * Engine.cs, Project.cs: Removed references to IEngine and IProject. - 2005-09-03 Marek Sieradzki <marek.sieradzki@gmail.com> * ProjectTest.cs, EngineTest.cs: Added next simple tests. diff --git a/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/EngineTest.cs b/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/EngineTest.cs index 1f0e4209392..9ab95dfca5c 100644 --- a/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/EngineTest.cs +++ b/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/EngineTest.cs @@ -34,7 +34,7 @@ namespace MonoTests.Microsoft.Build.BuildEngine { [Test] public void AssignmentTest () { - Engine engine; + IEngine engine; string binPath = "binPath"; engine = new Engine (binPath); diff --git a/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/ProjectTest.cs b/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/ProjectTest.cs index 328cf5c37f3..c9c867603da 100644 --- a/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/ProjectTest.cs +++ b/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/ProjectTest.cs @@ -36,8 +36,8 @@ namespace MonoTests.Microsoft.Build.BuildEngine { [Test] public void AssignmentTest () { - Engine engine; - Project project; + IEngine engine; + IProject project; string binPath = "binPath"; XmlDocument xd; string documentString = @@ -52,4 +52,4 @@ namespace MonoTests.Microsoft.Build.BuildEngine { Assert.AreEqual (String.Empty, project.FullFileName, "FullFileName"); } } -} +}
\ No newline at end of file |