~bratsche/ubuntu/maverick/monodevelop/disable-appmenu

« back to all changes in this revision

Viewing changes to src/core/MonoDevelop.Projects/MonoDevelop.Projects/SolutionFolder.cs

  • Committer: Bazaar Package Importer
  • Author(s): Stefan Ebner
  • Date: 2009-03-17 17:55:55 UTC
  • mfrom: (1.1.13 sid)
  • Revision ID: james.westby@ubuntu.com-20090317175555-2w5qbmu0l5maq6fq
Tags: 1.9.3+dfsg-1ubuntu1
* FFe for Monodevelop 2 granted by motu-release team :)
* Merge from Debian Unstable , remaining Ubuntu changes:
  + debian/control:
    - Update for Gnome# 2.24

Show diffs side-by-side

added added

removed removed

Lines of Context:
276
276
                                project.FileChangedInProject += fileChangedInProjectHandler;
277
277
                                project.FilePropertyChangedInProject += filePropertyChangedInProjectHandler;
278
278
                                project.FileRenamedInProject += fileRenamedInProjectHandler;
279
 
                                project.ReferenceRemovedFromProject += referenceRemovedFromProjectHandler;
280
 
                                project.ReferenceAddedToProject += referenceAddedToProjectHandler;
 
279
                                if (item is DotNetProject) {
 
280
                                        ((DotNetProject)project).ReferenceRemovedFromProject += referenceRemovedFromProjectHandler;
 
281
                                        ((DotNetProject)project).ReferenceAddedToProject += referenceAddedToProjectHandler;
 
282
                                }
281
283
                        }
282
284
                        else if (item is SolutionFolder)
283
285
                        {
354
356
                                pce.FileChangedInProject -= fileChangedInProjectHandler;
355
357
                                pce.FilePropertyChangedInProject -= filePropertyChangedInProjectHandler;
356
358
                                pce.FileRenamedInProject -= fileRenamedInProjectHandler;
357
 
                                pce.ReferenceRemovedFromProject -= referenceRemovedFromProjectHandler;
358
 
                                pce.ReferenceAddedToProject -= referenceAddedToProjectHandler;
 
359
                                if (pce is DotNetProject) {
 
360
                                        ((DotNetProject)pce).ReferenceRemovedFromProject -= referenceRemovedFromProjectHandler;
 
361
                                        ((DotNetProject)pce).ReferenceAddedToProject -= referenceAddedToProjectHandler;
 
362
                                }
359
363
                        }
360
364
                        else if (entry is SolutionFolder) {
361
365
                                SolutionFolder cce = entry as SolutionFolder;
557
561
                                
558
562
                                BuildResult cres = new BuildResult ();
559
563
                                cres.BuildCount = 0;
 
564
                                HashSet<SolutionItem> failedItems = new HashSet<SolutionItem> ();
560
565
                                
561
566
                                foreach (SolutionItem item in allProjects) {
562
567
                                        if (monitor.IsCancelRequested)
563
568
                                                break;
564
569
 
565
 
                                        BuildResult res = item.Build (monitor, configuration, false);
566
 
                                        if (res != null)
567
 
                                                cres.Append (res);
 
570
                                        if (!item.ContainsReferences (failedItems, configuration)) {
 
571
                                                BuildResult res = item.Build (monitor, configuration, false);
 
572
                                                if (res != null) {
 
573
                                                        cres.Append (res);
 
574
                                                        if (res.ErrorCount > 0)
 
575
                                                                failedItems.Add (item);
 
576
                                                }
 
577
                                        } else
 
578
                                                failedItems.Add (item);
568
579
                                        monitor.Step (1);
569
 
                                        if (res != null && res.ErrorCount > 0)
570
 
                                                break;
571
580
                                }
572
581
                                return cres;
573
582
                        } finally {
609
618
                void RemoveFileFromAllProjects (string fileName)
610
619
                {
611
620
                        foreach (Project projectEntry in GetAllProjects()) {
612
 
                                DotNetProject netProject = projectEntry as DotNetProject;
613
 
                                if (netProject != null) {
614
 
                                        List<ProjectReference> refsToDelete = new List<ProjectReference> ();
615
 
                                        foreach (ProjectReference rInfo in netProject.References) {
616
 
                                                if (rInfo.ReferenceType == ReferenceType.Assembly && rInfo.Reference == fileName)
617
 
                                                        refsToDelete.Add (rInfo);
618
 
                                        }
619
 
                                        foreach (ProjectReference rInfo in refsToDelete)
620
 
                                                netProject.References.Remove (rInfo);
621
 
                                }
622
 
                                
623
621
                                List<ProjectFile> toDelete = new List<ProjectFile> ();
624
622
                                foreach (ProjectFile fInfo in projectEntry.Files) {
625
623
                                        if (fInfo.Name == fileName)