aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Prebuild/src/Core/Nodes/FilesNode.cs
diff options
context:
space:
mode:
authorJeff Ames2008-03-17 20:55:21 +0000
committerJeff Ames2008-03-17 20:55:21 +0000
commit79209c429705beb57ad9b787718856ab2c9fd37c (patch)
tree6f459e172985bce8ffbfc09a5b9a4594dd881a62 /Prebuild/src/Core/Nodes/FilesNode.cs
parent* More almost completely unproductive log message fiddling (diff)
downloadopensim-SC_OLD-79209c429705beb57ad9b787718856ab2c9fd37c.zip
opensim-SC_OLD-79209c429705beb57ad9b787718856ab2c9fd37c.tar.gz
opensim-SC_OLD-79209c429705beb57ad9b787718856ab2c9fd37c.tar.bz2
opensim-SC_OLD-79209c429705beb57ad9b787718856ab2c9fd37c.tar.xz
Merged changes in Prebuild trunk up to r258 into OpenSim's Prebuild.
Hopefully this should make merging upstream easier. Building with NAnt should still work, but Visual Studio is untested.
Diffstat (limited to 'Prebuild/src/Core/Nodes/FilesNode.cs')
-rw-r--r--Prebuild/src/Core/Nodes/FilesNode.cs56
1 files changed, 44 insertions, 12 deletions
diff --git a/Prebuild/src/Core/Nodes/FilesNode.cs b/Prebuild/src/Core/Nodes/FilesNode.cs
index 05b2255..7c1dd19 100644
--- a/Prebuild/src/Core/Nodes/FilesNode.cs
+++ b/Prebuild/src/Core/Nodes/FilesNode.cs
@@ -26,9 +26,9 @@ IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY O
26#region CVS Information 26#region CVS Information
27/* 27/*
28 * $Source$ 28 * $Source$
29 * $Author: jendave $ 29 * $Author: borrillis $
30 * $Date: 2006-09-20 09:42:51 +0200 (on, 20 sep 2006) $ 30 * $Date: 2007-05-25 01:03:16 +0900 (Fri, 25 May 2007) $
31 * $Revision: 164 $ 31 * $Revision: 243 $
32 */ 32 */
33#endregion 33#endregion
34 34
@@ -56,7 +56,8 @@ namespace Prebuild.Core.Nodes
56 private Hashtable m_ResourceNames; 56 private Hashtable m_ResourceNames;
57 private Hashtable m_CopyToOutputs; 57 private Hashtable m_CopyToOutputs;
58 private Hashtable m_Links; 58 private Hashtable m_Links;
59 59 private Hashtable m_LinkPaths;
60 private Hashtable m_PreservePaths;
60 61
61 #endregion 62 #endregion
62 63
@@ -73,7 +74,9 @@ namespace Prebuild.Core.Nodes
73 m_ResourceNames = new Hashtable(); 74 m_ResourceNames = new Hashtable();
74 m_CopyToOutputs = new Hashtable(); 75 m_CopyToOutputs = new Hashtable();
75 m_Links = new Hashtable(); 76 m_Links = new Hashtable();
76 } 77 m_LinkPaths = new Hashtable();
78 m_PreservePaths = new Hashtable();
79 }
77 80
78 #endregion 81 #endregion
79 82
@@ -127,6 +130,15 @@ namespace Prebuild.Core.Nodes
127 return (bool) this.m_Links[file]; 130 return (bool) this.m_Links[file];
128 } 131 }
129 132
133 public string GetLinkPath( string file )
134 {
135 if ( !this.m_LinkPaths.ContainsKey( file ) )
136 {
137 return string.Empty;
138 }
139 return (string)this.m_LinkPaths[ file ];
140 }
141
130 /// <summary> 142 /// <summary>
131 /// 143 ///
132 /// </summary> 144 /// </summary>
@@ -157,6 +169,21 @@ namespace Prebuild.Core.Nodes
157 return (string)m_ResourceNames[file]; 169 return (string)m_ResourceNames[file];
158 } 170 }
159 171
172 /// <summary>
173 ///
174 /// </summary>
175 /// <param name="file"></param>
176 /// <returns></returns>
177 public bool GetPreservePath( string file )
178 {
179 if ( !m_PreservePaths.ContainsKey( file ) )
180 {
181 return false;
182 }
183
184 return (bool)m_PreservePaths[ file ];
185 }
186
160 /// <summary> 187 /// <summary>
161 /// 188 ///
162 /// </summary> 189 /// </summary>
@@ -181,8 +208,10 @@ namespace Prebuild.Core.Nodes
181 m_BuildActions[fileNode.Path] = fileNode.BuildAction; 208 m_BuildActions[fileNode.Path] = fileNode.BuildAction;
182 m_SubTypes[fileNode.Path] = fileNode.SubType; 209 m_SubTypes[fileNode.Path] = fileNode.SubType;
183 m_ResourceNames[fileNode.Path] = fileNode.ResourceName; 210 m_ResourceNames[fileNode.Path] = fileNode.ResourceName;
184 this.m_Links[fileNode.Path] = fileNode.IsLink; 211 this.m_PreservePaths[ fileNode.Path ] = fileNode.PreservePath;
185 this.m_CopyToOutputs[fileNode.Path] = fileNode.CopyToOutput; 212 this.m_Links[ fileNode.Path ] = fileNode.IsLink;
213 this.m_LinkPaths[ fileNode.Path ] = fileNode.LinkPath;
214 this.m_CopyToOutputs[ fileNode.Path ] = fileNode.CopyToOutput;
186 215
187 } 216 }
188 } 217 }
@@ -191,14 +220,17 @@ namespace Prebuild.Core.Nodes
191 { 220 {
192 foreach(string file in ((MatchNode)dataNode).Files) 221 foreach(string file in ((MatchNode)dataNode).Files)
193 { 222 {
223 MatchNode matchNode = (MatchNode)dataNode;
194 if (!m_Files.Contains(file)) 224 if (!m_Files.Contains(file))
195 { 225 {
196 m_Files.Add(file); 226 m_Files.Add(file);
197 m_BuildActions[file] = ((MatchNode)dataNode).BuildAction; 227 m_BuildActions[ file ] = matchNode.BuildAction;
198 m_SubTypes[file] = ((MatchNode)dataNode).SubType; 228 m_SubTypes[ file ] = matchNode.SubType;
199 m_ResourceNames[file] = ((MatchNode)dataNode).ResourceName; 229 m_ResourceNames[ file ] = matchNode.ResourceName;
200 this.m_Links[file] = ((MatchNode) dataNode).IsLink; 230 this.m_PreservePaths[ file ] = matchNode.PreservePath;
201 this.m_CopyToOutputs[file] = ((MatchNode) dataNode).CopyToOutput; 231 this.m_Links[ file ] = matchNode.IsLink;
232 this.m_LinkPaths[ file ] = matchNode.LinkPath;
233 this.m_CopyToOutputs[ file ] = matchNode.CopyToOutput;
202 234
203 } 235 }
204 } 236 }