Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mcs/class/Microsoft.Build.Engine')
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildItem.cs4
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildItemGroup.cs4
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildItemGroupCollection.cs6
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildProperty.cs2
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildPropertyGroup.cs4
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildPropertyGroupCollection.cs6
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ChangeLog43
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConsoleLogger.cs52
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Engine.cs41
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/FileLogger.cs5
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/GroupingCollection.cs2
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildItem.cs74
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildItemGroup.cs67
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildItemGroupCollection.cs56
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildProperty.cs56
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildPropertyGroup.cs73
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IBuildPropertyGroupCollection.cs56
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ICultureStringUtilities.cs38
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IEngine.cs77
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IGlobalEngineAccessor.cs38
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IHostFeedback.cs48
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IHostLogger.cs39
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ILangSecurityLevelChecker.cs36
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/IProject.cs186
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ITarget.cs52
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ITargetCollection.cs62
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ITaskElement.cs68
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/InvalidProjectFileException.cs11
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ItemPropertyGroupingBase.cs4
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ProcessingPass.cs2
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Project.cs18
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Target.cs2
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/TargetCollection.cs2
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/TaskElement.cs2
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/TaskEngineAssemblyResolver.cs2
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Utilities.cs23
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.Engine.dll.sources20
-rw-r--r--mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/ChangeLog4
-rw-r--r--mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/EngineTest.cs2
-rw-r--r--mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/ProjectTest.cs6
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