You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
(4) |
Nov
|
Dec
|
---|
From: <te...@us...> - 2006-10-04 01:42:31
|
Revision: 14 http://svn.sourceforge.net/hex/?rev=14&view=rev Author: tewald Date: 2006-10-03 14:43:19 -0700 (Tue, 03 Oct 2006) Log Message: ----------- Added noEmbed switch to hexsd. Updated WSDL extension to get prototype behavior working. Added test for WSDL extension, but it still needs work. Modified Paths: -------------- hexsdtools/trunk/HEXsd/CodeEmitter.cs hexsdtools/trunk/HEXsd/Program.cs hexsdtools/trunk/HEXsd/ProgramParameters.cs hexsdtools/trunk/HEXsd/XmlToClrMapper.cs hexsdtools/trunk/HEXsdWsdlExtensions/HEXsdWsdlExtensions.csproj hexsdtools/trunk/HEXsdWsdlExtensions/SchemaExtensionReflector.cs Added Paths: ----------- hexsdtools/trunk/HEXsdWsdlExtensions/tests/ hexsdtools/trunk/HEXsdWsdlExtensions/tests/bin/ hexsdtools/trunk/HEXsdWsdlExtensions/tests/bin/urn.example.com.other.dll hexsdtools/trunk/HEXsdWsdlExtensions/tests/bin/urn.example.org.test.dll hexsdtools/trunk/HEXsdWsdlExtensions/tests/test.asmx hexsdtools/trunk/HEXsdWsdlExtensions/tests/web.config Modified: hexsdtools/trunk/HEXsd/CodeEmitter.cs =================================================================== --- hexsdtools/trunk/HEXsd/CodeEmitter.cs 2006-10-02 18:52:52 UTC (rev 13) +++ hexsdtools/trunk/HEXsd/CodeEmitter.cs 2006-10-03 21:43:19 UTC (rev 14) @@ -49,15 +49,18 @@ // set assembly path and name compilerParams.OutputAssembly = output; - // add relevant resources to assembly - SchemaEmbedder schemaEmbedder = new SchemaEmbedder(compilerParams); - foreach (CodeNamespace ns in _unit.Namespaces) + // add relevant resources to assembly, unless /noEmbed was set + if (Program.Parameters.NoEmbed == false) { - foreach (XmlSchema schema in _schemas.Schemas) + SchemaEmbedder schemaEmbedder = new SchemaEmbedder(compilerParams); + foreach (CodeNamespace ns in _unit.Namespaces) { - if (ns.Name.Equals(Namespace.ConvertXmlNamespaceToClrNamespace(schema.TargetNamespace))) + foreach (XmlSchema schema in _schemas.Schemas) { - schemaEmbedder.EmbedSchemaAsResource(schema); + if (ns.Name.Equals(Namespace.ConvertXmlNamespaceToClrNamespace(schema.TargetNamespace))) + { + schemaEmbedder.EmbedSchemaAsResource(schema); + } } } } Modified: hexsdtools/trunk/HEXsd/Program.cs =================================================================== --- hexsdtools/trunk/HEXsd/Program.cs 2006-10-02 18:52:52 UTC (rev 13) +++ hexsdtools/trunk/HEXsd/Program.cs 2006-10-03 21:43:19 UTC (rev 14) @@ -29,7 +29,7 @@ _parameters = new ProgramParameters(); if (!_parameters.ParseArgs(args)) { - Usage(); + _parameters.Usage(); return; } @@ -58,13 +58,6 @@ } } - private void Usage() - { - Console.WriteLine("xsd.exe /asm [/ref <list of dlls>] [/out <file>] <list of xsds>"); - Console.WriteLine("xsd.exe /cs [/ref <list of dlls>] [/out <file>] <list of xsds>"); - Console.WriteLine("xsd.exe /xsd [/out <file>] <list of dlls>"); - } - public static void Main(string[] args) { (s_current = new Program()).InstanceMain(args); Modified: hexsdtools/trunk/HEXsd/ProgramParameters.cs =================================================================== --- hexsdtools/trunk/HEXsd/ProgramParameters.cs 2006-10-02 18:52:52 UTC (rev 13) +++ hexsdtools/trunk/HEXsd/ProgramParameters.cs 2006-10-03 21:43:19 UTC (rev 14) @@ -12,16 +12,23 @@ internal class ProgramParameters { - private ProgramMode _mode = ProgramMode.Assembly; + private ProgramMode? _mode = null; private string _output = null; private List<string> _references = new List<string>(); private List<string> _input = new List<string>(); private bool _getException = false; private bool _extraData = false; + private bool _noEmbed = false; + public bool NoEmbed + { + get { return _noEmbed; } + set { _noEmbed = value; } + } + internal ProgramMode Mode { - get { return _mode; } + get { return _mode.Value; } } internal string Output @@ -58,7 +65,7 @@ bool result = true; int index = 0; - while (index < args.Length) + while (index < args.Length && result == true) { string arg = args[index]; @@ -66,15 +73,39 @@ { if (arg.Equals(@"/assembly")) { - _mode = ProgramMode.Assembly; + if (_mode.HasValue) + { + Console.WriteLine("Error: Duplicate mode switch {0}", arg); + result = false; + } + else + { + _mode = ProgramMode.Assembly; + } } else if (arg.Equals(@"/cs")) { - _mode = ProgramMode.CSharp; + if (_mode.HasValue) + { + Console.WriteLine("Error: Duplicate mode switch {0}", arg); + result = false; + } + else + { + _mode = ProgramMode.CSharp; + } } else if (arg.Equals(@"/xsd")) { - _mode = ProgramMode.Xsd; + if (_mode.HasValue) + { + Console.WriteLine("Error: Duplicate mode switch {0}", arg); + result = false; + } + else + { + _mode = ProgramMode.Xsd; + } } else if (arg.Equals(@"/except")) { @@ -84,6 +115,10 @@ { _extraData = true; } + else if (arg.Equals(@"/noEmbed")) + { + _noEmbed = true; + } else if (arg.Equals(@"/out")) { if (!args[index + 1].StartsWith(@"/")) @@ -133,65 +168,27 @@ result = false; } + if (result == true) + { + DefaultArgs(); + } + return result; } - private bool ParseSwitch(int index, string[] args) + private void DefaultArgs() { - bool result = true; - - string arg = args[index]; - - if (arg.Equals(@"/asm")) + if (_mode.HasValue == false) { _mode = ProgramMode.Assembly; } - else if (arg.Equals(@"/cs")) - { - _mode = ProgramMode.CSharp; - } - else if (arg.Equals(@"/xsd")) - { - _mode = ProgramMode.Xsd; - } - else if (arg.Equals(@"/out")) - { - // setting output file name - string nextArg = args[index + 1]; - if (!nextArg.StartsWith(@"/")) - { - _output = nextArg; - } - else - { - Console.WriteLine("Error: Unexpected value for /out -> {0}", nextArg); - result = false; - } - } - else if (arg.Equals(@"/ref")) - { - // TBD add support for wildcards - - int offset = 1; - while (args[index + offset].EndsWith(@".dll")) - { - _references.Add(args[index + offset]); + } - offset = offset + 1; - } - if (offset == 1) - { - Console.WriteLine("Error: No reference assemblies following /ref"); - result = false; - } - } - else - { - Console.WriteLine("Error: Unknown switch {0}", arg); - result = false; - } - - return result; + internal void Usage() + { + Console.WriteLine("hexsd.exe /assembly [/extra] [/noEmbed] [/except] [/ref <list of dlls>] [/out <file>] <list of xsds>"); + Console.WriteLine("hexsd.exe /cs [/extra] [/noEmbed] [/except] [/ref <list of dlls>] [/out <file>] <list of xsds>"); + Console.WriteLine("hexsd.exe /xsd [/out <file>] <list of dlls>"); } } } Modified: hexsdtools/trunk/HEXsd/XmlToClrMapper.cs =================================================================== --- hexsdtools/trunk/HEXsd/XmlToClrMapper.cs 2006-10-02 18:52:52 UTC (rev 13) +++ hexsdtools/trunk/HEXsd/XmlToClrMapper.cs 2006-10-03 21:43:19 UTC (rev 14) @@ -84,7 +84,7 @@ private Dictionary<string, string> CreateReferenceDictionary() { - Dictionary<string, string> result = new Dictionary<string, string>(); + Dictionary<string, string> namespaceAssemblyDictionary = new Dictionary<string, string>(); foreach (string assemblyPath in Program.Parameters.References) { string fullAssemblyPath; @@ -96,24 +96,70 @@ { fullAssemblyPath = Path.Combine(Environment.CurrentDirectory, assemblyPath); } + + Assembly assembly = Assembly.LoadFile(fullAssemblyPath); + // check for desired attribute before recursing! + if (HasXsdNamespaceAttribute(assembly)) + { + GetEmbeddedSchemaInfoRecursively(assembly, namespaceAssemblyDictionary); + } + } + return namespaceAssemblyDictionary; + } - Assembly assembly = Assembly.LoadFile(fullAssemblyPath); - object[] attribs = assembly.GetCustomAttributes(true); - foreach (object attrib in attribs) + private void GetEmbeddedSchemaInfoRecursively(Assembly assembly, + Dictionary<string, string> namespaceAssemblyDictionary) + { + // extract schema info from given assembly + object[] attribs = assembly.GetCustomAttributes(true); + foreach (object attrib in attribs) + { + Type type = attrib.GetType(); + if (type.Name.Equals("XsdNamespaceAttribute") + && type.Namespace.Equals("HEX.HEXsd.Internal")) { - Type type = attrib.GetType(); - if (type.Name.Equals("XsdNamespaceAttribute") - && type.Namespace.Equals("HEX.HEXsd.Internal")) + // TBD how do we get XML namespace string? + PropertyInfo property = type.GetProperty("XmlNamespace", BindingFlags.NonPublic | BindingFlags.GetProperty | BindingFlags.Instance); + MethodInfo getter = property.GetGetMethod(true); + string xmlNamespace = (string) getter.Invoke(attrib, null); + if (namespaceAssemblyDictionary.ContainsKey(xmlNamespace)) { - // TBD how do we get XML namespace string? - PropertyInfo property = type.GetProperty("XmlNamespace", BindingFlags.NonPublic | BindingFlags.GetProperty | BindingFlags.Instance); - MethodInfo getter = property.GetGetMethod(true); - string xmlNamespace = (string) getter.Invoke(attrib, null); - result.Add(xmlNamespace, assemblyPath); + Console.WriteLine("Duplicate definition of schema for namespace {0}", xmlNamespace); } + else + { + namespaceAssemblyDictionary.Add(xmlNamespace, assembly.Location); + } } } + + foreach (AssemblyName assemblyName in assembly.GetReferencedAssemblies()) + { + Assembly referencedAssembly = Assembly.Load(assemblyName); + // check for desired attribute before recursing! + if (HasXsdNamespaceAttribute(referencedAssembly)) + { + GetEmbeddedSchemaInfoRecursively(referencedAssembly, namespaceAssemblyDictionary); + } + } + } + + // TBD remove duplicate code + private bool HasXsdNamespaceAttribute(Assembly assembly) + { + bool result = false; + object[] attribs = assembly.GetCustomAttributes(true); + foreach (object attrib in attribs) + { + Type type = attrib.GetType(); + if (type.Name.Equals("XsdNamespaceAttribute") + && type.Namespace.Equals("HEX.HEXsd.Internal")) + { + result = true; + break; + } + } return result; } Modified: hexsdtools/trunk/HEXsdWsdlExtensions/HEXsdWsdlExtensions.csproj =================================================================== --- hexsdtools/trunk/HEXsdWsdlExtensions/HEXsdWsdlExtensions.csproj 2006-10-02 18:52:52 UTC (rev 13) +++ hexsdtools/trunk/HEXsdWsdlExtensions/HEXsdWsdlExtensions.csproj 2006-10-03 21:43:19 UTC (rev 14) @@ -42,6 +42,24 @@ <Compile Include="SchemaExtensionReflector.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> </ItemGroup> + <ItemGroup> + <Content Include="bin\Debug\HEX.HEXsdWsdlExtensions.dll" /> + <Content Include="tests\bin\urn.example.com.other.dll"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="tests\bin\urn.example.org.test.dll"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="tests\test.asmx"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + <SubType>Component</SubType> + </Content> + </ItemGroup> + <ItemGroup> + <None Include="tests\web.config"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. Modified: hexsdtools/trunk/HEXsdWsdlExtensions/SchemaExtensionReflector.cs =================================================================== --- hexsdtools/trunk/HEXsdWsdlExtensions/SchemaExtensionReflector.cs 2006-10-02 18:52:52 UTC (rev 13) +++ hexsdtools/trunk/HEXsdWsdlExtensions/SchemaExtensionReflector.cs 2006-10-03 21:43:19 UTC (rev 14) @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.IO; using System.Reflection; using System.Text; @@ -17,6 +18,11 @@ private int? _totalMethodCount; private int _methodCount = 1; + public override void ReflectDescription() + { + base.ReflectDescription(); + } + public override void ReflectMethod() { if (!_totalMethodCount.HasValue) @@ -62,10 +68,10 @@ private Dictionary<string, XmlSchema> GetEmbeddedSchemas(Assembly assembly) { Dictionary<string, XmlSchema> embeddedSchemas = new Dictionary<string, XmlSchema>(); - if (HasXsdNamespaceAttribute(assembly)) - { + //if (HasXsdNamespaceAttribute(assembly)) + //{ GetEmbeddedSchemasRecursively(assembly, embeddedSchemas); - } + //} return embeddedSchemas; } @@ -79,7 +85,14 @@ { // TBD add event handler XmlSchema schema = XmlSchema.Read(stm, null); - embeddedSchemas.Add(schema.TargetNamespace, schema); + foreach (XmlSchemaExternal external in schema.Includes) + { + external.SchemaLocation = null; + } + if (!embeddedSchemas.ContainsKey(schema.TargetNamespace)) + { + embeddedSchemas.Add(schema.TargetNamespace, schema); + } } } } Added: hexsdtools/trunk/HEXsdWsdlExtensions/tests/bin/urn.example.com.other.dll =================================================================== (Binary files differ) Property changes on: hexsdtools/trunk/HEXsdWsdlExtensions/tests/bin/urn.example.com.other.dll ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: hexsdtools/trunk/HEXsdWsdlExtensions/tests/bin/urn.example.org.test.dll =================================================================== (Binary files differ) Property changes on: hexsdtools/trunk/HEXsdWsdlExtensions/tests/bin/urn.example.org.test.dll ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: hexsdtools/trunk/HEXsdWsdlExtensions/tests/test.asmx =================================================================== --- hexsdtools/trunk/HEXsdWsdlExtensions/tests/test.asmx (rev 0) +++ hexsdtools/trunk/HEXsdWsdlExtensions/tests/test.asmx 2006-10-03 21:43:19 UTC (rev 14) @@ -0,0 +1,17 @@ +<%@ WebService Class="Test" Language="C#" %> +<%@ Assembly Name="urn.example.org.test" %> + +using System; +using System.Web; +using System.Web.Services; + +using Urn.Example.Org.Test; + +[WebService] +public class Test : WebService +{ + [WebMethod] + public void ProcessPerson(PersonType pt) + { + } +} \ No newline at end of file Added: hexsdtools/trunk/HEXsdWsdlExtensions/tests/web.config =================================================================== --- hexsdtools/trunk/HEXsdWsdlExtensions/tests/web.config (rev 0) +++ hexsdtools/trunk/HEXsdWsdlExtensions/tests/web.config 2006-10-03 21:43:19 UTC (rev 14) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8" ?> +<configuration> + + <system.web> + <webServices> + <soapExtensionReflectorTypes> + <add type="HEX.HEXsdWsdlExtensions.SchemaExtensionReflector, HEX.HEXsdWsdlExtensions"/> + </soapExtensionReflectorTypes> + </webServices> + </system.web> + +</configuration> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <te...@us...> - 2006-10-02 21:01:45
|
Revision: 12 http://svn.sourceforge.net/hex/?rev=12&view=rev Author: tewald Date: 2006-09-29 12:38:51 -0700 (Fri, 29 Sep 2006) Log Message: ----------- Added some exploratory code for supporting redefine, left it in but it's commented out. Modified Paths: -------------- hexsdtools/trunk/HEXsd/InputSchemas.cs Modified: hexsdtools/trunk/HEXsd/InputSchemas.cs =================================================================== --- hexsdtools/trunk/HEXsd/InputSchemas.cs 2006-09-29 18:42:29 UTC (rev 11) +++ hexsdtools/trunk/HEXsd/InputSchemas.cs 2006-09-29 19:38:51 UTC (rev 12) @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.Text; using System.Xml; using System.Xml.Schema; @@ -57,3 +58,66 @@ } } } + +// Chunk of code related to adding support for redefine - so far it isn't looking promising... + +/* + foreach (XmlSchema schema in _schemaSet.Schemas()) + { + List<XmlSchemaRedefine> redefines = new List<XmlSchemaRedefine>(); + foreach (XmlSchemaExternal external in schema.Includes) + { + if (external is XmlSchemaRedefine) + { + XmlSchemaRedefine redefine = (XmlSchemaRedefine)external; + XmlSchema redefineTarget = redefine.Schema; + + foreach (XmlSchemaType redefinedType in redefine.SchemaTypes.Values) + { + // this is a redefined type - it links to one in the target schema + XmlSchemaType targetType = (XmlSchemaType) redefineTarget.SchemaTypes[redefinedType.QualifiedName]; + + // assume extension (for now) and patch up targetType + //Debug.Assert(redefinedType.DerivedBy == XmlSchemaDerivationMethod.Extension, "Must be redefined by extension"); + + // TBD fix this assumption! + XmlSchemaComplexType redefinedComplexType = (XmlSchemaComplexType)redefinedType; + XmlSchemaGroupBase redefinedContent = (XmlSchemaGroupBase)redefinedComplexType.ContentTypeParticle; + XmlSchemaComplexType targetComplexType = (XmlSchemaComplexType)targetType; + XmlSchemaGroupBase targetContent = (XmlSchemaGroupBase)targetComplexType.ContentTypeParticle; + while (redefinedContent.Items.Count > 0) + { + XmlSchemaObject xso = redefinedContent.Items[0]; + redefinedContent.Items.RemoveAt(0); + xso.Parent = targetContent; + xso.SourceUri = targetContent.SourceUri; + targetContent.Items.Add(xso); + } + } + + redefines.Add(redefine); + redefineTarget.Write(Console.Out); + schema.Write(Console.Out); + } + } + + foreach (XmlSchemaRedefine redefine in redefines) + { + // remove redefine + schema.Includes.Remove(redefine); + + // add include for same schema + XmlSchemaInclude include = new XmlSchemaInclude(); + include.Schema = redefine.Schema; + include.SourceUri = redefine.SourceUri; + include.Parent = redefine.Parent; + schema.Includes.Add(include); + } + + //_schemaSet.Reprocess(schema); + } + + _schemaSet.Compile(); + + */ + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <te...@us...> - 2006-10-02 21:01:43
|
Revision: 11 http://svn.sourceforge.net/hex/?rev=11&view=rev Author: tewald Date: 2006-09-29 11:42:29 -0700 (Fri, 29 Sep 2006) Log Message: ----------- Trying commit again! Modified Paths: -------------- hexsdtools/trunk/HEXsd/CodeEmitter.cs hexsdtools/trunk/HEXsd/HEXsd.csproj hexsdtools/trunk/HEXsd/Namespace.cs Added Paths: ----------- hexsdtools/trunk/HEXsd/SchemaEmbedder.cs Modified: hexsdtools/trunk/HEXsd/CodeEmitter.cs =================================================================== --- hexsdtools/trunk/HEXsd/CodeEmitter.cs 2006-09-29 18:17:31 UTC (rev 10) +++ hexsdtools/trunk/HEXsd/CodeEmitter.cs 2006-09-29 18:42:29 UTC (rev 11) @@ -50,52 +50,19 @@ compilerParams.OutputAssembly = output; // add relevant resources to assembly - foreach (XmlSchema schema in _schemas.Schemas) + SchemaEmbedder schemaEmbedder = new SchemaEmbedder(compilerParams); + foreach (CodeNamespace ns in _unit.Namespaces) { - foreach (CodeNamespace ns in _unit.Namespaces) + foreach (XmlSchema schema in _schemas.Schemas) { if (ns.Name.Equals(Namespace.ConvertXmlNamespaceToClrNamespace(schema.TargetNamespace))) { - // need to patch schema and write results out to temp file - string tempFilename = Path.Combine(compilerParams.TempFiles.TempDir, - Namespace.ConvertXmlNamespaceToFileName(schema.TargetNamespace, ".xsd")); - compilerParams.TempFiles.AddFile(tempFilename, true); - - foreach (XmlSchemaObject xso in schema.Includes) - { - if (xso is XmlSchemaImport) - { - XmlSchemaImport import = (XmlSchemaImport)xso; - import.SchemaLocation = Namespace.ConvertXmlNamespaceToFileName(import.Namespace, ".xsd"); - } - else - { - throw new NotImplementedException("No support for xs:include or xs:redefine"); - } - } - - // TBD patch schemaLocations before saving - using (FileStream stm = new FileStream(tempFilename, FileMode.Create, FileAccess.Write)) - { - schema.Write(new StreamWriter(stm)); - } - - //Uri uri = new Uri(schema.SourceUri); - //compilerParams.EmbeddedResources.Add(uri.LocalPath); - compilerParams.EmbeddedResources.Add(tempFilename); + schemaEmbedder.EmbedSchemaAsResource(schema); } } } - // compile assembly - //StringWriter writer = new StringWriter(); - //codeProvider.GenerateCodeFromCompileUnit(_unit, writer, new CodeGeneratorOptions()); - //writer.Flush(); - //string[] sources = new string[] { writer.GetStringBuilder().ToString() }; - //compilerParams.ReferencedAssemblies.Add("System.dll"); - //compilerParams.ReferencedAssemblies.Add("System.Xml.dll"); - //CompilerResults compilerResults = codeProvider.CompileAssemblyFromSource(compilerParams, sources); - + // compile code to assembly CompilerResults compilerResults = codeProvider.CompileAssemblyFromDom(compilerParams, _unit); // report errors, if any @@ -125,26 +92,6 @@ } } - // TBD this code is dup'd in Namespace class, fix it - //private string ConvertXmlToClrNamespace(string xmlNamespace, bool pascalCase) - //{ - // string converted = xmlNamespace.Replace(':', '.') - // .Replace('/', '.') - // .Replace('-', '.'); - // string[] parts = converted.Split(new char[] { '.' }, StringSplitOptions.RemoveEmptyEntries); - // string[] upperParts = new string[parts.Length]; - // for (int i = 0; i < parts.Length; i++) - // { - // string part = parts[i]; - // if (pascalCase && char.IsLower(part.ToCharArray()[0])) - // { - // part = string.Format("{0}{1}", part.Substring(0, 1).ToUpper(), part.Substring(1)); - // } - // upperParts[i] = part; - // } - // return string.Join(".", upperParts); - //} - // TBD should this be rationalized against Namespace.Convert... static methods? private string CreateDefaultOutput(string ext) { Modified: hexsdtools/trunk/HEXsd/HEXsd.csproj =================================================================== --- hexsdtools/trunk/HEXsd/HEXsd.csproj 2006-09-29 18:17:31 UTC (rev 10) +++ hexsdtools/trunk/HEXsd/HEXsd.csproj 2006-09-29 18:42:29 UTC (rev 11) @@ -45,11 +45,16 @@ <Compile Include="ProgramMode.cs" /> <Compile Include="ProgramParameters.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> + <Compile Include="SchemaEmbedder.cs" /> <Compile Include="SchemaEmitter.cs" /> <Compile Include="TypeOptionalInfo.cs" /> <Compile Include="XmlToClrMapper.cs" /> </ItemGroup> <ItemGroup> + <None Include="tests\inner.xsd"> + <SubType>Designer</SubType> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> <None Include="tests\OptionalTest.xsd"> <SubType>Designer</SubType> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> @@ -58,6 +63,10 @@ <SubType>Designer</SubType> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> + <None Include="tests\outer.xsd"> + <SubType>Designer</SubType> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Modified: hexsdtools/trunk/HEXsd/Namespace.cs =================================================================== --- hexsdtools/trunk/HEXsd/Namespace.cs 2006-09-29 18:17:31 UTC (rev 10) +++ hexsdtools/trunk/HEXsd/Namespace.cs 2006-09-29 18:42:29 UTC (rev 11) @@ -186,13 +186,17 @@ return string.Join(".", upperParts); } - internal static string ConvertXmlNamespaceToFileName(string xmlNamespace, string extension) + internal static string ConvertXmlNamespaceToFileName(string xmlNamespace) { string converted = ConvertXmlNamespaceToClrNamespace(xmlNamespace); converted = string.Join(string.Empty, converted.Split(new char[] { '_' }, StringSplitOptions.RemoveEmptyEntries)); converted = converted.ToLower(); - // TBD is there a cleaner way to do the extension? - return string.Format("{0}{1}", converted, extension); + return converted; } + + internal static string ConvertXmlNamespaceToFileName(string xmlNamespace, string extension) + { + return string.Format("{0}{1}", ConvertXmlNamespaceToFileName(xmlNamespace), extension); + } } } Added: hexsdtools/trunk/HEXsd/SchemaEmbedder.cs =================================================================== --- hexsdtools/trunk/HEXsd/SchemaEmbedder.cs (rev 0) +++ hexsdtools/trunk/HEXsd/SchemaEmbedder.cs 2006-09-29 18:42:29 UTC (rev 11) @@ -0,0 +1,144 @@ +using System; +using System.CodeDom; +using System.CodeDom.Compiler; +using System.Collections.Generic; +using System.IO; +using System.Reflection; +using System.Reflection.Emit; +using System.Text; +using System.Xml; +using System.Xml.Schema; +using System.Xml.Serialization; + +namespace HEX.HEXsd +{ + internal class SchemaEmbedder + { + private CompilerParameters _compilerParams; + + private Dictionary<string, Dictionary<string, int>> _entityDictionary = + new Dictionary<string, Dictionary<string, int>>(); + + internal SchemaEmbedder(CompilerParameters compilerParams) + { + _compilerParams = compilerParams; + } + + internal string EmbedSchemaAsResource(XmlSchema schema) + { + string result = null; + + string targetNamespace = schema.TargetNamespace; + string sourceUri = schema.SourceUri; + + if (!_entityDictionary.ContainsKey(targetNamespace)) + { + _entityDictionary.Add(targetNamespace, new Dictionary<string, int>()); + } + + if (_entityDictionary[targetNamespace].ContainsKey(sourceUri)) + { + // this schema has already been processed, so there is nothing to do + int count = _entityDictionary[targetNamespace][sourceUri]; + + // process external schemas before saving + ProcessExternalSchemaReferences(schema); + + // build filename + result = CreateSchemaFileName(targetNamespace, count); + + // write out resource + AddEmbeddedResourceToCompilerParams(schema, result); + } + else + { + // this schema has not yet been processed + int count = _entityDictionary[targetNamespace].Count; + + // add entity + _entityDictionary[targetNamespace].Add(sourceUri, count); + + // process external schemas before saving + ProcessExternalSchemaReferences(schema); + + // build filename + result = CreateSchemaFileName(targetNamespace, count); + + // write out resource + AddEmbeddedResourceToCompilerParams(schema, result); + } + + return result; + } + + private void ProcessExternalSchemaReferences(XmlSchema schema) + { + // process referenced schemas + foreach (XmlSchemaExternal external in schema.Includes) + { + if (external is XmlSchemaImport) + { + XmlSchemaImport import = (XmlSchemaImport)external; + import.SchemaLocation = EmbedSchemaAsResource(import.Schema); + } + else if (external is XmlSchemaInclude) + { + XmlSchemaInclude include = (XmlSchemaInclude)external; + if (include.Schema.TargetNamespace.Equals(schema.TargetNamespace)) + { + // need to recurse + include.SchemaLocation = EmbedSchemaAsResource(include.Schema); + } + else + { + throw new NotImplementedException("No support for including schemas without matching target namespaces (chameleons)"); + } + } + else if (external is XmlSchemaRedefine) + { + XmlSchemaRedefine redefine = (XmlSchemaRedefine)external; + + throw new NotImplementedException("No support for redefining schemas"); + } + } + } + + private void AddEmbeddedResourceToCompilerParams(XmlSchema schema, string filename) + { + // build temp file path + string tempFilename = Path.Combine(_compilerParams.TempFiles.TempDir, filename); + + // TBD find a cleaner way to do this + bool found = false; + foreach (string file in _compilerParams.TempFiles) + { + if (file.Equals(tempFilename)) + { + found = true; + } + } + + if (!found) + { + + _compilerParams.TempFiles.AddFile(tempFilename, true); + + // write out file + using (FileStream stm = new FileStream(tempFilename, FileMode.Create, FileAccess.Write)) + { + schema.Write(new StreamWriter(stm)); + } + + // add temp file to compilerParams to be embedded in compiled assembly + _compilerParams.EmbeddedResources.Add(tempFilename); + } + } + + private string CreateSchemaFileName(string targetNamespace, int count) + { + return string.Format("{0}{1}.xsd", + Namespace.ConvertXmlNamespaceToFileName(targetNamespace), + count == 0 ? null : string.Format(".{0}", count)); + } + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ca...@us...> - 2006-10-02 18:53:03
|
Revision: 13 http://svn.sourceforge.net/hex/?rev=13&view=rev Author: candera Date: 2006-10-02 11:52:52 -0700 (Mon, 02 Oct 2006) Log Message: ----------- * Added link to SharedAssemblyInfo.cs. * Fixed copyright year and company. * Added *.user to ignore list. Modified Paths: -------------- hexsdtools/trunk/HEXsd/HEXsd.csproj hexsdtools/trunk/HEXsd/Properties/AssemblyInfo.cs hexsdtools/trunk/HEXsdProxyGen/HEXsdProxyGen.csproj hexsdtools/trunk/HEXsdProxyGen/Properties/AssemblyInfo.cs hexsdtools/trunk/HEXsdWsdlExtensions/HEXsdWsdlExtensions.csproj hexsdtools/trunk/HEXsdWsdlExtensions/Properties/AssemblyInfo.cs hexsdtools/trunk/project.build Property Changed: ---------------- hexsdtools/trunk/HEXsdWsdlExtensions/ Modified: hexsdtools/trunk/HEXsd/HEXsd.csproj =================================================================== --- hexsdtools/trunk/HEXsd/HEXsd.csproj 2006-09-29 19:38:51 UTC (rev 12) +++ hexsdtools/trunk/HEXsd/HEXsd.csproj 2006-10-02 18:52:52 UTC (rev 13) @@ -35,6 +35,9 @@ <Reference Include="System.Xml" /> </ItemGroup> <ItemGroup> + <Compile Include="..\SharedAssemblyInfo.cs"> + <Link>SharedAssemblyInfo.cs</Link> + </Compile> <Compile Include="CodeEmitter.cs" /> <Compile Include="CodeFixer.cs" /> <Compile Include="InputAssemblies.cs" /> Modified: hexsdtools/trunk/HEXsd/Properties/AssemblyInfo.cs =================================================================== --- hexsdtools/trunk/HEXsd/Properties/AssemblyInfo.cs 2006-09-29 19:38:51 UTC (rev 12) +++ hexsdtools/trunk/HEXsd/Properties/AssemblyInfo.cs 2006-10-02 18:52:52 UTC (rev 13) @@ -10,7 +10,6 @@ [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("HEXsd")] -[assembly: AssemblyCopyright("Copyright © 2006")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -22,12 +21,3 @@ // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("83026913-2acf-41c9-a928-913be3485e59")] -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] Modified: hexsdtools/trunk/HEXsdProxyGen/HEXsdProxyGen.csproj =================================================================== --- hexsdtools/trunk/HEXsdProxyGen/HEXsdProxyGen.csproj 2006-09-29 19:38:51 UTC (rev 12) +++ hexsdtools/trunk/HEXsdProxyGen/HEXsdProxyGen.csproj 2006-10-02 18:52:52 UTC (rev 13) @@ -36,6 +36,9 @@ <Reference Include="System.Xml" /> </ItemGroup> <ItemGroup> + <Compile Include="..\SharedAssemblyInfo.cs"> + <Link>SharedAssemblyInfo.cs</Link> + </Compile> <Compile Include="Program.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="XsdNamespaceImporter.cs" /> Modified: hexsdtools/trunk/HEXsdProxyGen/Properties/AssemblyInfo.cs =================================================================== --- hexsdtools/trunk/HEXsdProxyGen/Properties/AssemblyInfo.cs 2006-09-29 19:38:51 UTC (rev 12) +++ hexsdtools/trunk/HEXsdProxyGen/Properties/AssemblyInfo.cs 2006-10-02 18:52:52 UTC (rev 13) @@ -10,7 +10,6 @@ [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("HEXsdProxyGen")] -[assembly: AssemblyCopyright("Copyright © 2006")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -22,12 +21,3 @@ // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("6f3343b8-b1d9-40ae-9281-a25f2273e191")] -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] Property changes on: hexsdtools/trunk/HEXsdWsdlExtensions ___________________________________________________________________ Name: svn:ignore - bin obj + bin obj *.user Modified: hexsdtools/trunk/HEXsdWsdlExtensions/HEXsdWsdlExtensions.csproj =================================================================== --- hexsdtools/trunk/HEXsdWsdlExtensions/HEXsdWsdlExtensions.csproj 2006-09-29 19:38:51 UTC (rev 12) +++ hexsdtools/trunk/HEXsdWsdlExtensions/HEXsdWsdlExtensions.csproj 2006-10-02 18:52:52 UTC (rev 13) @@ -36,6 +36,9 @@ <Reference Include="System.Xml" /> </ItemGroup> <ItemGroup> + <Compile Include="..\SharedAssemblyInfo.cs"> + <Link>SharedAssemblyInfo.cs</Link> + </Compile> <Compile Include="SchemaExtensionReflector.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> </ItemGroup> Modified: hexsdtools/trunk/HEXsdWsdlExtensions/Properties/AssemblyInfo.cs =================================================================== --- hexsdtools/trunk/HEXsdWsdlExtensions/Properties/AssemblyInfo.cs 2006-09-29 19:38:51 UTC (rev 12) +++ hexsdtools/trunk/HEXsdWsdlExtensions/Properties/AssemblyInfo.cs 2006-10-02 18:52:52 UTC (rev 13) @@ -10,7 +10,6 @@ [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("HEXsdWsdlExtensions")] -[assembly: AssemblyCopyright("Copyright © 2006")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -22,14 +21,3 @@ // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("5f6c9dcb-b877-4911-b226-e11cfd9a8d35")] -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Revision and Build Numbers -// by using the '*' as shown below: -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] Modified: hexsdtools/trunk/project.build =================================================================== --- hexsdtools/trunk/project.build 2006-09-29 19:38:51 UTC (rev 12) +++ hexsdtools/trunk/project.build 2006-10-02 18:52:52 UTC (rev 13) @@ -195,7 +195,7 @@ <attribute type="AssemblyVersionAttribute" value="${vermajor}.${verminor}.${verbuild}.${verrevision}" /> <attribute type="AssemblyCopyrightAttribute" - value="Copyright (c) 2005 Microsoft Corporation" /> + value="Copyright (c) 2006 Obelisk LLC" /> </attributes> </asminfo> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ca...@us...> - 2006-09-29 18:17:37
|
Revision: 10 http://svn.sourceforge.net/hex/?rev=10&view=rev Author: candera Date: 2006-09-29 11:17:31 -0700 (Fri, 29 Sep 2006) Log Message: ----------- * Turned on "warning as error" for all projects. Modified Paths: -------------- hexsdtools/trunk/HEXsd/HEXsd.csproj hexsdtools/trunk/HEXsdProxyGen/HEXsdProxyGen.csproj hexsdtools/trunk/HEXsdWsdlExtensions/HEXsdWsdlExtensions.csproj Property Changed: ---------------- hexsdtools/trunk/ Property changes on: hexsdtools/trunk ___________________________________________________________________ Name: svn:ignore - *.suo dist reports + *.suo dist reports Ankh.Load Modified: hexsdtools/trunk/HEXsd/HEXsd.csproj =================================================================== --- hexsdtools/trunk/HEXsd/HEXsd.csproj 2006-09-29 16:15:23 UTC (rev 9) +++ hexsdtools/trunk/HEXsd/HEXsd.csproj 2006-09-29 18:17:31 UTC (rev 10) @@ -7,7 +7,7 @@ <ProjectGuid>{4FCCA51A-AEB0-4735-8DBB-20FF254208DD}</ProjectGuid> <OutputType>Exe</OutputType> <AppDesignerFolder>Properties</AppDesignerFolder> - <RootNamespace>HEX.HEXsd</RootNamespace> + <RootNamespace>Hex.HeXsd</RootNamespace> <AssemblyName>HEXsd</AssemblyName> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> @@ -18,6 +18,7 @@ <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> + <TreatWarningsAsErrors>true</TreatWarningsAsErrors> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> @@ -26,6 +27,7 @@ <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> + <TreatWarningsAsErrors>true</TreatWarningsAsErrors> </PropertyGroup> <ItemGroup> <Reference Include="System" /> Modified: hexsdtools/trunk/HEXsdProxyGen/HEXsdProxyGen.csproj =================================================================== --- hexsdtools/trunk/HEXsdProxyGen/HEXsdProxyGen.csproj 2006-09-29 16:15:23 UTC (rev 9) +++ hexsdtools/trunk/HEXsdProxyGen/HEXsdProxyGen.csproj 2006-09-29 18:17:31 UTC (rev 10) @@ -18,6 +18,7 @@ <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> + <TreatWarningsAsErrors>true</TreatWarningsAsErrors> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> @@ -26,6 +27,7 @@ <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> + <TreatWarningsAsErrors>true</TreatWarningsAsErrors> </PropertyGroup> <ItemGroup> <Reference Include="System" /> Modified: hexsdtools/trunk/HEXsdWsdlExtensions/HEXsdWsdlExtensions.csproj =================================================================== --- hexsdtools/trunk/HEXsdWsdlExtensions/HEXsdWsdlExtensions.csproj 2006-09-29 16:15:23 UTC (rev 9) +++ hexsdtools/trunk/HEXsdWsdlExtensions/HEXsdWsdlExtensions.csproj 2006-09-29 18:17:31 UTC (rev 10) @@ -18,6 +18,7 @@ <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> + <TreatWarningsAsErrors>true</TreatWarningsAsErrors> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> @@ -26,6 +27,7 @@ <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> + <TreatWarningsAsErrors>true</TreatWarningsAsErrors> </PropertyGroup> <ItemGroup> <Reference Include="System" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ca...@us...> - 2006-09-29 16:16:26
|
Revision: 9 http://svn.sourceforge.net/hex/?rev=9&view=rev Author: candera Date: 2006-09-29 09:15:23 -0700 (Fri, 29 Sep 2006) Log Message: ----------- * Renamed Hex.sln to hexsd-tools.sln * Added nant to tools directory * Added buildfile Added Paths: ----------- hexsdtools/trunk/SharedAssemblyInfo.cs hexsdtools/trunk/build.cmd hexsdtools/trunk/build.config hexsdtools/trunk/hexsd-tools.sln hexsdtools/trunk/project.build hexsdtools/trunk/tools/ hexsdtools/trunk/tools/nant/ hexsdtools/trunk/tools/nant/COPYING.txt hexsdtools/trunk/tools/nant/README.txt hexsdtools/trunk/tools/nant/bin/ hexsdtools/trunk/tools/nant/bin/NAnt.CompressionTasks.dll hexsdtools/trunk/tools/nant/bin/NAnt.CompressionTasks.xml hexsdtools/trunk/tools/nant/bin/NAnt.Core.dll hexsdtools/trunk/tools/nant/bin/NAnt.Core.xml hexsdtools/trunk/tools/nant/bin/NAnt.DotNetTasks.dll hexsdtools/trunk/tools/nant/bin/NAnt.DotNetTasks.xml hexsdtools/trunk/tools/nant/bin/NAnt.MSNetTasks.dll hexsdtools/trunk/tools/nant/bin/NAnt.MSNetTasks.xml hexsdtools/trunk/tools/nant/bin/NAnt.NUnit.dll hexsdtools/trunk/tools/nant/bin/NAnt.NUnit.xml hexsdtools/trunk/tools/nant/bin/NAnt.NUnit1Tasks.dll hexsdtools/trunk/tools/nant/bin/NAnt.NUnit1Tasks.xml hexsdtools/trunk/tools/nant/bin/NAnt.NUnit2Tasks.dll hexsdtools/trunk/tools/nant/bin/NAnt.NUnit2Tasks.xml hexsdtools/trunk/tools/nant/bin/NAnt.SourceControlTasks.dll hexsdtools/trunk/tools/nant/bin/NAnt.SourceControlTasks.xml hexsdtools/trunk/tools/nant/bin/NAnt.VSNetTasks.dll hexsdtools/trunk/tools/nant/bin/NAnt.VSNetTasks.xml hexsdtools/trunk/tools/nant/bin/NAnt.VisualCppTasks.dll hexsdtools/trunk/tools/nant/bin/NAnt.VisualCppTasks.xml hexsdtools/trunk/tools/nant/bin/NAnt.Win32Tasks.dll hexsdtools/trunk/tools/nant/bin/NAnt.Win32Tasks.xml hexsdtools/trunk/tools/nant/bin/NAnt.exe hexsdtools/trunk/tools/nant/bin/NAnt.exe.config hexsdtools/trunk/tools/nant/bin/NAnt.xml hexsdtools/trunk/tools/nant/bin/NDoc.Documenter.NAnt.dll hexsdtools/trunk/tools/nant/bin/lib/ hexsdtools/trunk/tools/nant/bin/lib/ICSharpCode.SharpCvsLib.Console.dll hexsdtools/trunk/tools/nant/bin/lib/ICSharpCode.SharpCvsLib.dll hexsdtools/trunk/tools/nant/bin/lib/ICSharpCode.SharpZipLib.dll hexsdtools/trunk/tools/nant/bin/lib/NUnitCore.dll hexsdtools/trunk/tools/nant/bin/lib/mono/ hexsdtools/trunk/tools/nant/bin/lib/mono/1.0/ hexsdtools/trunk/tools/nant/bin/lib/mono/1.0/NDoc.Core.dll hexsdtools/trunk/tools/nant/bin/lib/mono/1.0/NDoc.Documenter.Msdn.dll hexsdtools/trunk/tools/nant/bin/lib/mono/1.0/NDoc.ExtendedUI.dll hexsdtools/trunk/tools/nant/bin/lib/mono/1.0/nunit.core.dll hexsdtools/trunk/tools/nant/bin/lib/mono/1.0/nunit.framework.dll hexsdtools/trunk/tools/nant/bin/lib/mono/1.0/nunit.util.dll hexsdtools/trunk/tools/nant/bin/lib/mono/2.0/ hexsdtools/trunk/tools/nant/bin/lib/mono/2.0/NDoc.Core.dll hexsdtools/trunk/tools/nant/bin/lib/mono/2.0/NDoc.Documenter.Msdn.dll hexsdtools/trunk/tools/nant/bin/lib/mono/2.0/NDoc.ExtendedUI.dll hexsdtools/trunk/tools/nant/bin/lib/mono/2.0/nunit.core.dll hexsdtools/trunk/tools/nant/bin/lib/mono/2.0/nunit.framework.dll hexsdtools/trunk/tools/nant/bin/lib/mono/2.0/nunit.util.dll hexsdtools/trunk/tools/nant/bin/lib/net/ hexsdtools/trunk/tools/nant/bin/lib/net/1.0/ hexsdtools/trunk/tools/nant/bin/lib/net/1.0/NDoc.Core.dll hexsdtools/trunk/tools/nant/bin/lib/net/1.0/NDoc.Documenter.Msdn.dll hexsdtools/trunk/tools/nant/bin/lib/net/1.0/NDoc.ExtendedUI.dll hexsdtools/trunk/tools/nant/bin/lib/net/1.0/nunit.core.dll hexsdtools/trunk/tools/nant/bin/lib/net/1.0/nunit.framework.dll hexsdtools/trunk/tools/nant/bin/lib/net/1.0/nunit.util.dll hexsdtools/trunk/tools/nant/bin/lib/net/1.1/ hexsdtools/trunk/tools/nant/bin/lib/net/1.1/NDoc.Core.dll hexsdtools/trunk/tools/nant/bin/lib/net/1.1/NDoc.Documenter.Msdn.dll hexsdtools/trunk/tools/nant/bin/lib/net/1.1/NDoc.ExtendedUI.dll hexsdtools/trunk/tools/nant/bin/lib/net/1.1/nunit.core.dll hexsdtools/trunk/tools/nant/bin/lib/net/1.1/nunit.framework.dll hexsdtools/trunk/tools/nant/bin/lib/net/1.1/nunit.util.dll hexsdtools/trunk/tools/nant/bin/lib/net/2.0/ hexsdtools/trunk/tools/nant/bin/lib/net/2.0/NDoc.Core.dll hexsdtools/trunk/tools/nant/bin/lib/net/2.0/NDoc.Documenter.Msdn.dll hexsdtools/trunk/tools/nant/bin/lib/net/2.0/NDoc.ExtendedUI.dll hexsdtools/trunk/tools/nant/bin/lib/net/2.0/nunit.core.dll hexsdtools/trunk/tools/nant/bin/lib/net/2.0/nunit.framework.dll hexsdtools/trunk/tools/nant/bin/lib/net/2.0/nunit.util.dll hexsdtools/trunk/tools/nant/bin/log4net.dll hexsdtools/trunk/tools/nant/bin/scvs.exe hexsdtools/trunk/version.xml Removed Paths: ------------- hexsdtools/trunk/HEX.sln Property Changed: ---------------- hexsdtools/trunk/ Property changes on: hexsdtools/trunk ___________________________________________________________________ Name: svn:ignore - *.suo + *.suo dist reports Deleted: hexsdtools/trunk/HEX.sln =================================================================== --- hexsdtools/trunk/HEX.sln 2006-09-29 15:42:58 UTC (rev 8) +++ hexsdtools/trunk/HEX.sln 2006-09-29 16:15:23 UTC (rev 9) @@ -1,32 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HEXsd", "HEXsd\HEXsd.csproj", "{4FCCA51A-AEB0-4735-8DBB-20FF254208DD}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HEXsdWsdlExtensions", "HEXsdWsdlExtensions\HEXsdWsdlExtensions.csproj", "{B319CF32-5362-4B46-8F08-12244A7255C6}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HEXsdProxyGen", "HEXsdProxyGen\HEXsdProxyGen.csproj", "{4537A260-6D25-48FE-BECD-C3464F52253F}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {4FCCA51A-AEB0-4735-8DBB-20FF254208DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4FCCA51A-AEB0-4735-8DBB-20FF254208DD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4FCCA51A-AEB0-4735-8DBB-20FF254208DD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4FCCA51A-AEB0-4735-8DBB-20FF254208DD}.Release|Any CPU.Build.0 = Release|Any CPU - {B319CF32-5362-4B46-8F08-12244A7255C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B319CF32-5362-4B46-8F08-12244A7255C6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B319CF32-5362-4B46-8F08-12244A7255C6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B319CF32-5362-4B46-8F08-12244A7255C6}.Release|Any CPU.Build.0 = Release|Any CPU - {4537A260-6D25-48FE-BECD-C3464F52253F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4537A260-6D25-48FE-BECD-C3464F52253F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4537A260-6D25-48FE-BECD-C3464F52253F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4537A260-6D25-48FE-BECD-C3464F52253F}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal Added: hexsdtools/trunk/SharedAssemblyInfo.cs =================================================================== --- hexsdtools/trunk/SharedAssemblyInfo.cs (rev 0) +++ hexsdtools/trunk/SharedAssemblyInfo.cs 2006-09-29 16:15:23 UTC (rev 9) @@ -0,0 +1,16 @@ +using System; +using System.Reflection; + +//------------------------------------------------------------------------------ +// <auto-generated> +// This code was generated by a tool. +// Runtime Version:2.0.50727.42 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// </auto-generated> +//------------------------------------------------------------------------------ + +[assembly: AssemblyVersionAttribute("0.2.0.0")] +[assembly: AssemblyCopyrightAttribute("Copyright (c) 2005 Microsoft Corporation")] + Added: hexsdtools/trunk/build.cmd =================================================================== --- hexsdtools/trunk/build.cmd (rev 0) +++ hexsdtools/trunk/build.cmd 2006-09-29 16:15:23 UTC (rev 9) @@ -0,0 +1 @@ +tools\nant\bin\nant %* \ No newline at end of file Added: hexsdtools/trunk/build.config =================================================================== --- hexsdtools/trunk/build.config (rev 0) +++ hexsdtools/trunk/build.config 2006-09-29 16:15:23 UTC (rev 9) @@ -0,0 +1,18 @@ +<!-- +#region License Statement +// Copyright (c) Microsoft Corporation. All rights reserved. +// +// The use and distribution terms for this software are covered by the +// Common Public License 1.0 (http://opensource.org/licenses/cpl.php) +// which can be found in the file CPL.TXT at the root of this distribution. +// By using this software in any fashion, you are agreeing to be bound by +// the terms of this license. +// +// You must not remove this notice, or any other, from this software. +#endregion +--> + +<!-- Please do not modify this file --> +<project> + +</project> \ No newline at end of file Copied: hexsdtools/trunk/hexsd-tools.sln (from rev 6, hexsdtools/trunk/HEX.sln) =================================================================== --- hexsdtools/trunk/hexsd-tools.sln (rev 0) +++ hexsdtools/trunk/hexsd-tools.sln 2006-09-29 16:15:23 UTC (rev 9) @@ -0,0 +1,32 @@ + +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HEXsd", "HEXsd\HEXsd.csproj", "{4FCCA51A-AEB0-4735-8DBB-20FF254208DD}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HEXsdWsdlExtensions", "HEXsdWsdlExtensions\HEXsdWsdlExtensions.csproj", "{B319CF32-5362-4B46-8F08-12244A7255C6}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HEXsdProxyGen", "HEXsdProxyGen\HEXsdProxyGen.csproj", "{4537A260-6D25-48FE-BECD-C3464F52253F}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {4FCCA51A-AEB0-4735-8DBB-20FF254208DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4FCCA51A-AEB0-4735-8DBB-20FF254208DD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4FCCA51A-AEB0-4735-8DBB-20FF254208DD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4FCCA51A-AEB0-4735-8DBB-20FF254208DD}.Release|Any CPU.Build.0 = Release|Any CPU + {B319CF32-5362-4B46-8F08-12244A7255C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B319CF32-5362-4B46-8F08-12244A7255C6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B319CF32-5362-4B46-8F08-12244A7255C6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B319CF32-5362-4B46-8F08-12244A7255C6}.Release|Any CPU.Build.0 = Release|Any CPU + {4537A260-6D25-48FE-BECD-C3464F52253F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4537A260-6D25-48FE-BECD-C3464F52253F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4537A260-6D25-48FE-BECD-C3464F52253F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4537A260-6D25-48FE-BECD-C3464F52253F}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal Added: hexsdtools/trunk/project.build =================================================================== --- hexsdtools/trunk/project.build (rev 0) +++ hexsdtools/trunk/project.build 2006-09-29 16:15:23 UTC (rev 9) @@ -0,0 +1,423 @@ +<!-- +#region License Statement +// Copyright (c) Microsoft Corporation. All rights reserved. +// +// The use and distribution terms for this software are covered by the +// Common Public License 1.0 (http://opensource.org/licenses/cpl.php) +// which can be found in the file CPL.TXT at the root of this distribution. +// By using this software in any fashion, you are agreeing to be bound by +// the terms of this license. +// +// You must not remove this notice, or any other, from this software. +#endregion +--> + +<!-- Please do not modify this file --> +<project name="hexsd-tools" default="build"> + + <!-- Make sure we use the 1.1 version of the framework --> + <property name="nant.settings.currentframework" value="net-2.0" /> + + <!-- Where on disk the source tree is rooted. Defaults to the + directory where this build file lives. --> + <property name="basedir" + value="${project::get-base-directory()}" + unless="${property::exists('basedir')}" /> + + <echo message="Running from directory ${basedir}" /> + + <!-- If a file called personal.properties exists, read it in and use + the properties defined there to override this build file's + settings --> + <property name="personalpropspath" + value="${path::combine(basedir, 'personal.properties')}" /> + + <include buildfile="${personalpropspath}" + if="${file::exists(personalpropspath)}" /> + + <!-- Read in things like environment variables into nant properties --> + <sysinfo /> + + <!-- Read the base version numbers from the version.xml file --> + <property name="versionfile" value="${path::combine(basedir, 'version.xml')}" /> + + <!-- Extract the various parts of the build number into properties --> + <xmlpeek file="${versionfile}" + xpath="/version/major" + property="basevermajor" /> + + <xmlpeek file="${versionfile}" + xpath="/version/minor" + property="baseverminor" /> + + <xmlpeek file="${versionfile}" + xpath="/version/build" + property="baseverbuild" /> + + <xmlpeek file="${versionfile}" + xpath="/version/revision" + property="baseverrevision" /> + + <!-- This next section defines a bunch of defaults. If the property + has been defined (typically in the personal.properties file or + from the command line), then the default is ignored and the + specified value is uesd. --> + + <!-- If any of the version number parts have been overridden, use + those. Otherwise, use the ones we just generated. --> + <property name="vermajor" value="${basevermajor}" + unless="${property::exists('vermajor')}" /> + + <property name="verminor" value="${baseverminor}" + unless="${property::exists('verminor')}" /> + + <property name="verbuild" value="${baseverbuild}" + unless="${property::exists('verbuild')}" /> + + <property name="verrevision" value="${baseverrevision}" + unless="${property::exists('verrevision')}" /> + + <echo message="Building version ${vermajor}.${verminor}.${verbuild}.${verrevision}" /> + + <!-- The type of build to do (generally Release or Debug). Default + to a Debug build. --> + <property name="configuration" value="Debug" + unless="${property::exists('configuration')}" /> + + <!-- The directory where various report files wind up. This includes + things like the report that NUnit spits out. Default to + "reports" off of the base directory. --> + <property name="reportdir" value="${basedir}\reports" + unless="${property::exists('reportdir')}" /> + + <!-- The directory where we build the zip files for distribution. + Defaults to "dist" off of the base directory. --> + <property name="distdir" value="${basedir}/dist" + unless="${property::exists('distdir')}" /> + + <!-- The directory where we install temporarily to allow us to + test the build --> + <property name="installdir" value="${basedir}\install" + unless="${property::exists('installdir')}" /> + + <!-- Set this property to true here (or override elsewhere) to skip + the actual compilation stage of the build. --> + <property name="build.skip" value="false" + unless="${property::exists('build.skip')}" /> + + <!-- Set this property to true here (or override elsewhere) to skip + the test stage (nunit, fxcop) of the build. --> + <property name="test.skip" value="true" + unless="${property::exists('test.skip')}" /> + + <!-- Set this property to true here (or override elsewhere) to skip + running nunit as part of the build. --> + <property name="nunit.skip" value="false" + unless="${property::exists('nunit.skip')}" /> + + <!-- Set this property to true here (or override elsewhere) to skip + running fxcop as part of the build. --> + <property name="fxcop.skip" value="false" + unless="${property::exists('fxcop.skip')}" /> + + <!-- Set this property to true here (or override elsewhere) to skip + the stage of the build that builds the distribution files. --> + <property name="dist.skip" value="false" + unless="${property::exists('dist.skip')}" /> + + <!-- Set this property to true here (or override elsewhere) to skip + the stage of the build that installs the build locally. --> + <property name="install.skip" value="false" + unless="${property::exists('install.skip')}" /> + + <!-- Set this property to true here (or override elsewhere) to skip + the stage of the build that runs verification tests against the + locally installed build. --> + <property name="verify.skip" value="false" + unless="${property::exists('verify.skip')}" /> + + <!-- The name of the .sln file used to compile the project. Defaults + to having the same name as the NAnt project --> + <property name="buildfile.name" value="${project::get-name()}" + unless="${property::exists('buildfile.name')}" /> + + <!-- Set this property false here (or override elsewhere) to prevent + unit test failures from breaking the build. This can be useful + when debugging complex build problems. --> + <property name="nunit.breaks.build" value="true" + unless="${property::exists('nunit.breaks.build')}" /> + + <!-- Set this property false here (or override elsewhere) to prevent + FxCop failures from breaking the build. This can be useful + when debugging complex build problems. --> + <property name="fxcop.breaks.build" value="false" + unless="${property::exists('fxcop.breaks.build')}" /> + + <!-- NAnt build targets appear after this point. To build a + particular target, run "nant targetname" from the command line. + For example, to build the init target, run "nant init". --> + + <!-- The init target does initial setup of the project --> + + <!-- Create the reports directory if it doesn't exist. --> + <mkdir dir="${reportdir}" /> + + <!-- Set up the XML version number so external tools can use it to + know what version we built. --> + + <!-- Copy the version file to the reports directory --> + <property name="versionreport" value="${path::combine(reportdir, 'version.xml')}" /> + <copy file="${versionfile}" tofile="${versionreport}" /> + + <!-- Now store the various build numbers in the xml file --> + <xmlpoke file="${versionreport}" + value="${vermajor}" + xpath="/version/major" /> + <xmlpoke file="${versionreport}" + value="${verminor}" + xpath="/version/minor" /> + <xmlpoke file="${versionreport}" + value="${verbuild}" + xpath="/version/build" /> + <xmlpoke file="${versionreport}" + value="${verrevision}" + xpath="/version/revision" /> + + <!-- Create a SharedAssemblyInfo.cs file with the version number that + we calculated at the beginning of the build script --> + <asminfo output="${basedir}/SharedAssemblyInfo.cs" + language="CSharp"> + <imports> + <import namespace="System" /> + <import namespace="System.Reflection" /> + </imports> + <attributes> + <attribute type="AssemblyVersionAttribute" + value="${vermajor}.${verminor}.${verbuild}.${verrevision}" /> + <attribute type="AssemblyCopyrightAttribute" + value="Copyright (c) 2005 Microsoft Corporation" /> + </attributes> + </asminfo> + + <!-- Analyze the solution file to figure out what projects are there --> + + <!-- Start by deleting the file that lists all the projects --> + <property name="init.projectlistpath" value="${reportdir}/projectlist.txt" /> + + <delete file="${init.projectlistpath}" if="${file::exists(init.projectlistpath)}" /> + + <foreach item="Line" + in="${basedir}/${project::get-name()}.sln" + property="init.line" > + <do> + <if test="${string::starts-with(init.line, 'Project(')}"> + <regex pattern="(?:=\s)*"(?'proj'.*?)",\s"(?'path'.*?)",\s"(?'guid'.*?)"" + input="${init.line}" /> + <echo file="${init.projectlistpath}" append="true" + message="${path}" /> + </if> + </do> + </foreach> + + <!-- The build target simply compiles the projects listed in the + .sln file into the target directory --> + <target name="build" depends="run-build" unless="${build.skip}"/> + + <target name="run-build"> + <property name="build.framework.directory" + value="${framework::get-framework-directory(framework::get-target-framework())}" /> + + <exec program="msbuild.exe" + basedir="${build.framework.directory}" + workingdir="${basedir}" > + <arg value="/p:Configuration=${configuration}" /> + <arg value="${project::get-name()}.sln" /> + </exec> + + + </target> + + <!-- The test target runs nunit on any assemblies that have NUnit + tests in them. --> + <target name="test" depends="build run-test" unless="${test.skip}" /> + + <target name="run-test"> + + <!-- Set nunit.skip to true to skip NUnit testing --> + <if test="${not nunit.skip}"> + <!-- This command runs nunit-console and directs the XML report to + the reports directory. --> + <exec program="nunit-console.exe" + basedir="${basedir}\tools\nunit\bin" + workingdir="${basedir}" + failonerror="${nunit.breaks.build}"> + <arg value="FlexWiki.UnitTests/bin/${configuration}/FlexWiki.UnitTests.dll" /> + <arg value="/xml=${reportdir}\nunit.xml"/> + </exec> + </if> + + <!-- Here's where we run FxCop analysis of the project assemblies. + Set fxcop.skip to true to skip FxCop testing. --> + <if test="${not fxcop.skip}"> + <exec program="fxcopcmd" + basedir="${basedir}/tools/fxcop" + workingdir="${basedir}" + failonerror="${fxcop.breaks.build}"> + <arg value="/project:${project::get-name()}.fxcop" /> + <arg value="/out:${path::combine(reportdir, 'fxcop.xml')}" /> + </exec> + </if> + + </target> + + <!-- The dist target builds the distribution zipfiles from the files + in the target directory. --> + <target name="dist" depends="test run-dist" unless="${dist.skip}" /> + + <target name="run-dist"> + <mkdir dir="${distdir}" /> + + + <!-- We create an empty staging directory (by deleting it if it's + present and then creating it anew) where we set up the files + we want to go into the binaries zip in the arrangement we + want them in. --> + <property name="dist.stagingdir" value="${path::combine(distdir, 'staging')}" /> + <delete dir="${dist.stagingdir}" if="${directory::exists(dist.stagingdir)}"/> + <mkdir dir="${dist.stagingdir}" /> + + <!-- Next we create a web and a bin directory underneath it --> + <property name="dist.bindir" value="${path::combine(dist.stagingdir, 'bin')}" /> + <mkdir dir="${dist.bindir}" /> + + <!-- Define the files that go in the "other binaries" zip + directory --> + <fileset id="dist.all.binaries" + basedir="${basedir}"> + <include name="HexSD/bin/${configuration}/*.dll" /> + <include name="HexSD/bin/${configuration}/*.pdb" /> + <include name="HexSD/bin/${configuration}/*.exe" /> + <include name="HexSDProxyGen/bin/${configuration}/*.dll" /> + <include name="HexSDProxyGen/bin/${configuration}/*.pdb" /> + <include name="HexSDProxyGen/bin/${configuration}/*.exe" /> + <include name="HexSDWsdlExtensions/bin/${configuration}/*.dll" /> + <include name="HexSDWsdlExtensions/bin/${configuration}/*.pdb" /> + <include name="HexSDWsdlExtensions/bin/${configuration}/*.exe" /> + <exclude name="**/*.vshost.exe" /> + </fileset> + + <!-- Define the files that go right in the base directory of the + zipfile --> + <fileset id="dist.root" + basedir="${basedir}"> + <include name="*.txt" /> + </fileset> + + <!-- Then we copy the appropriate files into each directory --> + <copy todir="${dist.bindir}"> + <fileset refid="dist.all.binaries" /> + </copy> + + <copy todir="${dist.stagingdir}"> + <fileset refid="dist.root" /> + </copy> + + <!-- We build: + * a source zip containing the source files, + * a tools zip containing the binaries --> + + <!-- Cook up names for the zipfiles based on the project name, + version number, and configuration. --> + <property name="dist.binzip" + value="${distdir}/${project::get-name()}-${vermajor}.${verminor}.${verbuild}.${verrevision}-bin-${configuration}.zip" /> + <property name="dist.srczip" + value="${distdir}/${project::get-name()}-${vermajor}.${verminor}.${verbuild}.${verrevision}-src.zip" /> + + <!-- Zip up all the binary files into the bin zip --> + <zip zipfile="${dist.binzip}"> + <fileset basedir="${dist.bindir}"> + <include name="**/*" /> + </fileset> + </zip> + + <!-- Define the files that wind up in the zip of all source code --> + <fileset id="dist.sources" basedir="${basedir}"> + <include name="**/*" /> + <exclude name="dist/**" /> + <exclude name="diff/**" /> + <exclude name="release/**" /> + <exclude name="reports/**" /> + <exclude name="**/bin/Debug/**" /> + <exclude name="**/bin/Release/**" /> + <exclude name="**/obj/**" /> + <exclude name="**/*.suo" /> + <exclude name="**/*.user" /> + <exclude name="**/*~" /> + <exclude name="**/*.projdata" /> + <exclude name="**/*.bak" /> + <exclude name="personal.properties" /> + <exclude name="**/.svn" /> + <include name="tools/nant/bin" /> + <include name="tools/nunit/bin" /> + </fileset> + + <!-- We'll stage all the sources in a directory because we want to modify + them slightly before zipping them up --> + <property name="dist.srcdir" value="${path::combine(dist.stagingdir, 'src')}" /> + + <!-- Delete the contents of the staging directory if it's present and recreate it --> + <delete dir="${dist.srcdir}" if="${directory::exists(dist.srcdir)}"/> + <mkdir dir="${dist.srcdir}" /> + + <!-- Copy the sources into the staging directory --> + <copy todir="${dist.srcdir}"> + <fileset refid="dist.sources" /> + </copy> + + <!-- Copy the updated version file into the staging directory --> + <copy todir="${dist.srcdir}" file="${versionreport}" /> + + <!-- Zip up all the files specified in the staging directory into + the sources zip --> + <zip zipfile="${dist.srczip}"> + <fileset basedir="${dist.srcdir}"> + <include name="**/*" /> + <include name="${path::combine(dist.stagingdir, '*.txt')}" /> + </fileset> + </zip> + + <!-- Zip up all the files specified in the staging directory into + the bin zip --> + <zip zipfile="${dist.binzip}"> + <fileset basedir="${dist.bindir}"> + <include name="**/*" /> + <include name="${path::combine(dist.stagingdir, '*.txt')}" /> + </fileset> + </zip> + + </target> + + <!-- The install target installs the web part of the build locally. --> + <target name="install" depends="dist run-install" unless="${install.skip}" /> + + <target name="run-install"> + + <!-- Destroy the existing physical directory if present --> + <delete dir="${installdir}" if="${directory::exists(installdir)}"/> + + <!-- Create the physical directory --> + <mkdir dir="${installdir}" /> + + </target> + + + <!-- The clean target cleans out any files that are created as part + of the build process --> + <target name="clean"> + <delete dir="${distdir}" if="${directory::exists(distdir)}" /> + <delete dir="${reportdir}" if="${directory::exists(reportdir)}"/> + <delete dir="${installdir}" if="${directory::exists(installdir)}"/> + </target> + + +</project> Added: hexsdtools/trunk/tools/nant/COPYING.txt =================================================================== --- hexsdtools/trunk/tools/nant/COPYING.txt (rev 0) +++ hexsdtools/trunk/tools/nant/COPYING.txt 2006-09-29 16:15:23 UTC (rev 9) @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. Added: hexsdtools/trunk/tools/nant/README.txt =================================================================== --- hexsdtools/trunk/tools/nant/README.txt (rev 0) +++ hexsdtools/trunk/tools/nant/README.txt 2006-09-29 16:15:23 UTC (rev 9) @@ -0,0 +1,144 @@ +NAnt + +What is it? +----------- +NAnt is a .NET based build tool. In theory it is kind of like make without +make's wrinkles. In practice it's a lot like Ant. + +If you are not familiar with Jakarta Ant you can get more information at the +Ant project web site (http://ant.apache.org/). + + +Why NAnt? +--------- +Because Ant was too Java specific. +Because Ant needed the Java runtime. NAnt only needs the .NET +or Mono runtime. + + +The Latest Version +------------------ +Details of the latest version can be found on the NAnt project web site +http://nant.sourceforge.net/ + + +Compilation and Installation +------------------------------- + + a. Build Requirements + -------------------- + To build NAnt, you will need the following components: + + on Windows + + * A version of the Microsoft .NET Framework + + Available from http://msdn.microsoft.com/netframework/ + + you will need the .NET Framework SDK as well as the runtime components + if you intend to compile programs. + + note that NAnt currently supports versions 1.0, 1.1 and 2.0 (Beta 1) + of the Microsoft .NET Framework. + + or + + * Mono for Windows (version 1.0 or higher) + + Available from http://www.mono-project.com/downloads/ + + Linux/Unix + + * GNU toolchain - including GNU make + + * pkg-config + + Available from: http://www.freedesktop.org/Software/pkgconfig + + * A working Mono installation and development libraries (version 1.0 or higher) + + Available from: http://www.mono-project.com/downloads/ + + + b. Building the Software + ------------------------ + + Build NAnt using Microsoft .NET + + GNU Make + -------- + + make install MONO= MCS=csc prefix=<installation path> + + eg. make install MONO= MCS=csc prefix="c:\Program Files" + + NMake + ----- + + nmake -f Makefile.nmake install prefix=<installation path> + + eg. nmake -f Makefile.nmake install prefix="c:\Program Files" + + + Building NAnt using Mono + + GNU Make + -------- + + make install prefix=<installation path> + + eg. make install prefix="c:\Program Files" + + NMake + ----- + + nmake -f Makefile.nmake install MONO=mono CSC=mcs prefix=<installation path> + + eg. nmake -f Makefile.nmake install MONO=mono CSC=mcs prefix=/usr/local/ + +Note: + +These instructions only apply to the source distribution of NAntContrib, as the binary distribution +contains pre-built assemblies. + + +Documentation +------------- +Documentation is available in HTML format, in the doc/ directory. + + +License +------- +Copyright (C) 2001-2005 Gerry Shaw + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +As a special exception, the copyright holders of this software give you +permission to link the assemblies with independent modules to produce new +assemblies, regardless of the license terms of these independent modules, +and to copy and distribute the resulting assemblies under terms of your +choice, provided that you also meet, for each linked independent module, +the terms and conditions of the license of that module. An independent +module is a module which is not derived from or based on these assemblies. +If you modify this software, you may extend this exception to your version +of the software, but you are not obligated to do so. If you do not wish to +do so, delete this exception statement from your version. + +A copy of the GNU General Public License is available in the COPYING.txt file +included with all NAnt distributions. + +For more licensing information refer to the GNU General Public License on the +GNU Project web site. +http://www.gnu.org/copyleft/gpl.html Added: hexsdtools/trunk/tools/nant/bin/NAnt.CompressionTasks.dll =================================================================== (Binary files differ) Property changes on: hexsdtools/trunk/tools/nant/bin/NAnt.CompressionTasks.dll ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: hexsdtools/trunk/tools/nant/bin/NAnt.CompressionTasks.xml =================================================================== --- hexsdtools/trunk/tools/nant/bin/NAnt.CompressionTasks.xml (rev 0) +++ hexsdtools/trunk/tools/nant/bin/NAnt.CompressionTasks.xml 2006-09-29 16:15:23 UTC (rev 9) @@ -0,0 +1,608 @@ +<?xml version="1.0"?> +<doc> + <assembly> + <name>NAnt.CompressionTasks</name> + </assembly> + <members> + <member name="T:NAnt.Compression.Tasks.GUnzip"> + <summary> + Expands a file packed using GZip compression. + </summary> + <example> + <para>Expands "test.tar.gz" to "test2.tar".</para> + <code> + <![CDATA[ + <gunzip src="test.tar.gz" dest="test.tar" /> + ]]> + </code> + </example> + </member> + <member name="M:NAnt.Compression.Tasks.GUnzip.ExecuteTask"> + <summary> + Extracts the file from the gzip archive. + </summary> + </member> + <member name="P:NAnt.Compression.Tasks.GUnzip.SrcFile"> + <summary> + The file to expand. + </summary> + </member> + <member name="P:NAnt.Compression.Tasks.GUnzip.DestFile"> + <summary> + The destination file. + </summary> + </member> + <member name="T:NAnt.Compression.Tasks.TarTask"> + <summary> + Creates a tar file from the specified filesets. + </summary> + <remarks> + <para>Uses <see href="http://www.icsharpcode.net/OpenSource/SharpZipLib/">#ziplib</see> (SharpZipLib), an open source Tar/Zip/GZip library written entirely in C#.</para> + </remarks> + <example> + <para> + Tar all files in <c>${build.dir}</c> and <c>${doc.dir}</c> into a file + called "backup.tar.gz", and apply gzip compression to it. + </para> + <code> + <![CDATA[ + <tar destfile="backup.tar.gz" compression="GZip"> + <fileset basedir="${bin.dir}" prefix="bin"> + <include name="**/*" /> + </fileset> + <fileset basedir="${doc.dir}" prefix="doc"> + <include name="**/*" /> + </fileset> + </tar> + ]]> + </code> + </example> + </member> + <member name="M:NAnt.Compression.Tasks.TarTask.ExecuteTask"> + <summary> + Creates the tar file. + </summary> + </member> + <member name="P:NAnt.Compression.Tasks.TarTask.DestFile"> + <summary> + The tar file to create. + </summary> + </member> + <member name="P:NAnt.Compression.Tasks.TarTask.IncludeEmptyDirs"> + <summary> + Include empty directories in the generated tar file. The default is + <see langword="false" />. + </summary> + </member> + <member name="P:NAnt.Compression.Tasks.TarTask.TarFileSets"> + <summary> + The set of files to be included in the archive. + </summary> + </member> + <member name="P:NAnt.Compression.Tasks.TarTask.CompressionMethod"> + <summary> + The compression method. The default is <see cref="F:NAnt.Compression.Tasks.TarCompressionMethod.None"/>. + </summary> + </member> + <member name="T:NAnt.Compression.Tasks.TarCompressionMethod"> + <summary> + Specifies the compression methods supported by <see cref="T:NAnt.Compression.Tasks.TarTask"/>. + </summary> + </member> + <member name="F:NAnt.Compression.Tasks.TarCompressionMethod.None"> + <summary> + No compression. + </summary> + </member> + <member name="F:NAnt.Compression.Tasks.TarCompressionMethod.GZip"> + <summary> + GZIP compression. + </summary> + </member> + <member name="F:NAnt.Compression.Tasks.TarCompressionMethod.BZip2"> + <summary> + BZIP2 compression. + </summary> + </member> + <member name="T:NAnt.Compression.Tasks.UnZipTask"> + <summary> + Extracts files from a zip file. + </summary> + <remarks> + <para>Uses <see href="http://www.icsharpcode.net/OpenSource/SharpZipLib/">#ziplib</see> (SharpZipLib), an open source Zip/GZip library written entirely in C#.</para> + </remarks> + <example> + <para>Extracts all the file from the zip, preserving the directory structure.</para> + <code> + <![CDATA[ + <unzip zipfile="backup.zip"/> + ]]> + </code> + </example> + </member> + <member name="M:NAnt.Compression.Tasks.UnZipTask.ExecuteTask"> + <summary> + Extracts the files from the zip file. + </summary> + </member> + <member name="M:NAnt.Compression.Tasks.UnZipTask.ExtractFile(System.IO.Stream,System.String,System.DateTime)"> + <summary> + Extracts a file entry from the specified stream. + </summary> + <param name="inputStream">The <see cref="T:System.IO.Stream"/> containing the compressed entry.</param> + <param name="entryName">The name of the entry including directory information.</param> + <param name="entryDate">The date of the entry.</param> + <exception cref="T:NAnt.Core.BuildException"> + <para>The destination directory for the entry could not be created.</para> + <para>-or-</para> + <para>The entry could not be extracted.</para> + </exception> + <remarks> + We cannot rely on the fact that the directory entry of a given file + is created before the file is extracted, so we should create the + directory if it doesn't yet exist. + </remarks> + </member> + <member name="M:NAnt.Compression.Tasks.UnZipTask.ExtractDirectory(System.IO.Stream,System.String,System.DateTime)"> + <summary> + Extracts a directory entry from the specified stream. + </summary> + <param name="inputStream">The <see cref="T:System.IO.Stream"/> containing the directory entry.</param> + <param name="entryName">The name of the directory entry.</param> + <param name="entryDate">The date of the entry.</param> + <exception cref="T:NAnt.Core.BuildException"> + <para>The destination directory for the entry could not be created.</para> + </exception> + </member> + <member name="P:NAnt.Compression.Tasks.UnZipTask.ZipFile"> + <summary> + The archive file to expand. + </summary> + </member> + <member name="P:NAnt.Compression.Tasks.UnZipTask.ToDirectory"> + <summary> + The directory where the expanded files should be stored. The + default is the project base directory. + </summary> + </member> + <member name="P:NAnt.Compression.Tasks.UnZipTask.Overwrite"> + <summary> + Overwrite files, even if they are newer than the corresponding + entries in the archive. The default is <see langword="true" />. + </summary> + </member> + <member name="P:NAnt.Compression.Tasks.UnZipTask.Encoding"> + <summary> + The character encoding that has been used for filenames inside the + zip file. The default is the system's OEM code page. + </summary> + </member> + <member name="T:NAnt.Compression.Tasks.ZipTask"> + <summary> + Creates a zip file from the specified filesets. + </summary> + <remarks> + <para>Uses <see href="http://www.icsharp... [truncated message content] |