summaryrefslogtreecommitdiff
path: root/src/tools/WixToolset.HeatTasks/RefreshGeneratedFile.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/tools/WixToolset.HeatTasks/RefreshGeneratedFile.cs (renamed from src/wix/WixToolset.BuildTasks/RefreshGeneratedFile.cs)52
1 files changed, 20 insertions, 32 deletions
diff --git a/src/wix/WixToolset.BuildTasks/RefreshGeneratedFile.cs b/src/tools/WixToolset.HeatTasks/RefreshGeneratedFile.cs
index e18ae222..1e43cc1f 100644
--- a/src/wix/WixToolset.BuildTasks/RefreshGeneratedFile.cs
+++ b/src/tools/WixToolset.HeatTasks/RefreshGeneratedFile.cs
@@ -1,6 +1,6 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. 1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2 2
3namespace WixToolset.BuildTasks 3namespace WixToolset.HeatTasks
4{ 4{
5 using System; 5 using System;
6 using System.Collections; 6 using System.Collections;
@@ -8,48 +8,36 @@ namespace WixToolset.BuildTasks
8 using System.IO; 8 using System.IO;
9 using System.Xml; 9 using System.Xml;
10 using Microsoft.Build.Framework; 10 using Microsoft.Build.Framework;
11 using Microsoft.Build.Utilities;
12 11
13 /// <summary> 12 /// <summary>
14 /// This task refreshes the generated file that contains ComponentGroupRefs 13 /// This task refreshes the generated file that contains ComponentGroupRefs
15 /// to harvested output. 14 /// to harvested output.
16 /// </summary> 15 /// </summary>
17 public class RefreshGeneratedFile : Task 16 public class RefreshGeneratedFile : RefreshTask
18 { 17 {
19 /// <summary> 18 /// <summary>
20 /// The list of files to generate.
21 /// </summary>
22 [Required]
23 public ITaskItem[] GeneratedFiles { get; set; }
24
25 /// <summary>
26 /// All the project references in the project.
27 /// </summary>
28 [Required]
29 public ITaskItem[] ProjectReferencePaths { get; set; }
30
31 /// <summary>
32 /// Gets a complete list of external cabs referenced by the given installer database file. 19 /// Gets a complete list of external cabs referenced by the given installer database file.
33 /// </summary> 20 /// </summary>
34 /// <returns>True upon completion of the task execution.</returns> 21 /// <returns>True upon completion of the task execution.</returns>
35 public override bool Execute() 22 public override bool Execute()
36 { 23 {
37 ArrayList componentGroupRefs = new ArrayList(); 24 var componentGroupRefs = new ArrayList();
38 for (int i = 0; i < this.ProjectReferencePaths.Length; i++) 25
26 for (var i = 0; i < this.ProjectReferencePaths.Length; i++)
39 { 27 {
40 ITaskItem item = this.ProjectReferencePaths[i]; 28 var item = this.ProjectReferencePaths[i];
41 29
42 if (!String.IsNullOrEmpty(item.GetMetadata(ToolsCommon.DoNotHarvest))) 30 if (!String.IsNullOrEmpty(item.GetMetadata(DoNotHarvest)))
43 { 31 {
44 continue; 32 continue;
45 } 33 }
46 34
47 string projectPath = item.GetMetadata("MSBuildSourceProjectFile"); 35 var projectPath = item.GetMetadata("MSBuildSourceProjectFile");
48 string projectName = Path.GetFileNameWithoutExtension(projectPath); 36 var projectName = Path.GetFileNameWithoutExtension(projectPath);
49 string referenceName = ToolsCommon.GetIdentifierFromName(ToolsCommon.GetMetadataOrDefault(item, "Name", projectName)); 37 var referenceName = GetIdentifierFromName(GetMetadataOrDefault(item, "Name", projectName));
50 38
51 string[] pogs = item.GetMetadata("RefProjectOutputGroups").Split(';'); 39 var pogs = item.GetMetadata("RefProjectOutputGroups").Split(';');
52 foreach (string pog in pogs) 40 foreach (var pog in pogs)
53 { 41 {
54 if (!String.IsNullOrEmpty(pog)) 42 if (!String.IsNullOrEmpty(pog))
55 { 43 {
@@ -58,32 +46,32 @@ namespace WixToolset.BuildTasks
58 } 46 }
59 } 47 }
60 48
61 XmlDocument doc = new XmlDocument(); 49 var doc = new XmlDocument();
62 50
63 XmlProcessingInstruction head = doc.CreateProcessingInstruction("xml", "version='1.0' encoding='UTF-8'"); 51 var head = doc.CreateProcessingInstruction("xml", "version='1.0' encoding='UTF-8'");
64 doc.AppendChild(head); 52 doc.AppendChild(head);
65 53
66 XmlElement rootElement = doc.CreateElement("Wix"); 54 var rootElement = doc.CreateElement("Wix");
67 rootElement.SetAttribute("xmlns", "http://wixtoolset.org/schemas/v4/wxs"); 55 rootElement.SetAttribute("xmlns", "http://wixtoolset.org/schemas/v4/wxs");
68 doc.AppendChild(rootElement); 56 doc.AppendChild(rootElement);
69 57
70 XmlElement fragment = doc.CreateElement("Fragment"); 58 var fragment = doc.CreateElement("Fragment");
71 rootElement.AppendChild(fragment); 59 rootElement.AppendChild(fragment);
72 60
73 XmlElement componentGroup = doc.CreateElement("ComponentGroup"); 61 var componentGroup = doc.CreateElement("ComponentGroup");
74 componentGroup.SetAttribute("Id", "Product.Generated"); 62 componentGroup.SetAttribute("Id", "Product.Generated");
75 fragment.AppendChild(componentGroup); 63 fragment.AppendChild(componentGroup);
76 64
77 foreach (string componentGroupRef in componentGroupRefs) 65 foreach (string componentGroupRef in componentGroupRefs)
78 { 66 {
79 XmlElement componentGroupRefElement = doc.CreateElement("ComponentGroupRef"); 67 var componentGroupRefElement = doc.CreateElement("ComponentGroupRef");
80 componentGroupRefElement.SetAttribute("Id", componentGroupRef); 68 componentGroupRefElement.SetAttribute("Id", componentGroupRef);
81 componentGroup.AppendChild(componentGroupRefElement); 69 componentGroup.AppendChild(componentGroupRefElement);
82 } 70 }
83 71
84 foreach (ITaskItem item in this.GeneratedFiles) 72 foreach (var item in this.GeneratedFiles)
85 { 73 {
86 string fullPath = item.GetMetadata("FullPath"); 74 var fullPath = item.GetMetadata("FullPath");
87 75
88 componentGroup.SetAttribute("Id", Path.GetFileNameWithoutExtension(fullPath)); 76 componentGroup.SetAttribute("Id", Path.GetFileNameWithoutExtension(fullPath));
89 try 77 try