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] |