//
// Author:
// Marek Sieradzki (marek.sieradzki@gmail.com)
-// FIXME: code from monoresgen, add authors
+// Paolo Molaro (lupus@ximian.com)
+// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
// (C) 2005 Marek Sieradzki
//
using System.Text;
using System.IO;
using System.Collections;
+using System.Collections.Generic;
using System.Resources;
using System.Reflection;
using Microsoft.Build.Framework;
public sealed class GenerateResource : TaskExtension {
ITaskItem[] filesWritten;
- //bool neverLockTypeAssemblies;
+ bool neverLockTypeAssemblies;
ITaskItem[] outputResources;
+ bool publicClass;
ITaskItem[] references;
ITaskItem[] sources;
ITaskItem stateFile;
public override bool Execute ()
{
- ArrayList temporaryFilesWritten = new ArrayList ();
+ List <ITaskItem> temporaryFilesWritten = new List <ITaskItem> ();
if (sources.Length != outputResources.Length) {
Log.LogErrorFromException (new Exception ("Sources count is different than OutputResources count."));
return false;
CompileResourceFile (sourceFile, outputFile);
}
} else {
- IEnumerator sourceEnum, outputEnum;
- sourceEnum = sources.GetEnumerator ();
- outputEnum = outputResources.GetEnumerator ();
+ IEnumerator <ITaskItem> sourceEnum, outputEnum;
+ sourceEnum = (IEnumerator <ITaskItem>) sources.GetEnumerator ();
+ outputEnum = (IEnumerator <ITaskItem>) outputResources.GetEnumerator ();
while (sourceEnum.MoveNext ()) {
outputEnum.MoveNext ();
- string sourceFile = ((ITaskItem) sourceEnum.Current).ItemSpec;
- string outputFile = ((ITaskItem) outputEnum.Current).ItemSpec;
+ string sourceFile = sourceEnum.Current.ItemSpec;
+ string outputFile = outputEnum.Current.ItemSpec;
if (outputFile == String.Empty) {
Log.LogErrorFromException (new Exception ("Filename of output can not be empty."));
return false;
}
- if (CompileResourceFile (sourceFile, outputFile) == false)
+ if (CompileResourceFile (sourceFile, outputFile) == false) {
Log.LogErrorFromException (new Exception ("Error during compiling resource file."));
return false;
+ }
temporaryFilesWritten.Add (outputEnum.Current);
}
}
- filesWritten = new ITaskItem [temporaryFilesWritten.Count];
- int i = 0;
- foreach (ITaskItem item in temporaryFilesWritten)
- filesWritten [i++] = item;
+ filesWritten = temporaryFilesWritten.ToArray ();
return true;
}
get {
return filesWritten;
}
- set {
- filesWritten = value;
- }
}
- /*public bool NeverLockTypeAssemblies {
+ [MonoTODO]
+ public bool NeverLockTypeAssemblies {
get {
return neverLockTypeAssemblies;
}
set {
neverLockTypeAssemblies = value;
}
- }*/
+ }
[Output]
public ITaskItem[] OutputResources {
outputResources = value;
}
}
+
+ public bool PublicClass {
+ get { return publicClass; }
+ set { publicClass = value; }
+ }
public ITaskItem[] References {
get {
}
}
+ [Output]
public string StronglyTypedClassName {
get {
return stronglyTypedClassName;
}
}
- public string StronglyTypedFilename {
+ [Output]
+ public string StronglyTypedFileName {
get {
return stronglyTypedFilename;
}
}
}
-#endif
\ No newline at end of file
+#endif