Merge pull request #799 from kebby/master
[mono.git] / mcs / class / Microsoft.Build.Tasks / Microsoft.Build.Tasks / Warning.cs
index 52747f0ab50dc9028247263f0e64464f20ec7312..a200efd9c852f548f2455ebed1eb53d7d37eebc0 100644 (file)
@@ -34,6 +34,8 @@ using Microsoft.Build.Utilities;
 namespace Microsoft.Build.Tasks {
        public sealed class Warning : TaskExtension {
                
+               string  code;
+               string  helpKeyword;
                string  text;
        
                public Warning ()
@@ -42,24 +44,34 @@ namespace Microsoft.Build.Tasks {
 
                public override bool Execute ()
                {
-                       if (text == null)
-                               text = String.Empty;
-                       Log.LogWarning (null, null, null, BuildEngine.ProjectFileOfTaskNode,
+                       if (String.IsNullOrEmpty (text))
+                               return true;
+
+                       Log.LogWarning (null, code, helpKeyword,
+                               String.IsNullOrEmpty (File) ? BuildEngine.ProjectFileOfTaskNode : File,
                                BuildEngine.LineNumberOfTaskNode, BuildEngine.ColumnNumberOfTaskNode,
                                BuildEngine.LineNumberOfTaskNode, BuildEngine.ColumnNumberOfTaskNode,
                                text, null);
                        return true;
                }
 
+               public string Code {
+                       get { return code; }
+                       set { code = value; }
+               }
+               
+               public string HelpKeyword {
+                       get { return helpKeyword; }
+                       set { helpKeyword = value; }
+               }
+               
                public string Text {
-                       get {
-                               return text;
-                       }
-                       set {
-                               text = value;
-                       }
+                       get { return text; }
+                       set { text = value; }
                }
+
+               public string File { get; set; }
        }
 }
 
-#endif
\ No newline at end of file
+#endif