Merge pull request #2543 from ermshiperete/Xamarin-31021
[mono.git] / mcs / class / Microsoft.Build.Tasks / Microsoft.Build.Tasks / MakeDir.cs
index 6f77915a6ed2642736257b8d8c7ffb82705fcacf..a19424e5a04f8da5572adbeff4b377f1090efb45 100644 (file)
@@ -25,7 +25,6 @@
 // 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.Generic;
@@ -44,14 +43,22 @@ namespace Microsoft.Build.Tasks {
 
                public override bool Execute ()
                {
+                       if (directories.Length == 0)
+                               return true;
+
                        bool result = true;
 
                        List <ITaskItem> temporaryDirectoriesCreated = new List  <ITaskItem> ();
                        
                        foreach (ITaskItem directory in directories) {
+                               string path = directory.GetMetadata ("FullPath");
+                               if (Directory.Exists (path))
+                                       continue;
+
                                try {
-                                       Directory.CreateDirectory (directory.GetMetadata ("FullPath"));
+                                       Directory.CreateDirectory (path);
                                        temporaryDirectoriesCreated.Add (directory);
+                                       Log.LogMessage (MessageImportance.Normal, "Created directory \"{0}\"", directory.ItemSpec);
                                }
                                catch (Exception ex) {
                                        Log.LogErrorFromException (ex);
@@ -83,4 +90,3 @@ namespace Microsoft.Build.Tasks {
        }
 }
 
-#endif