diff options
author | GRODNO\Anton_Sokolovskii <a.sokolovsky15@gmail.com> | 2017-11-21 14:38:51 +0300 |
---|---|---|
committer | Joel Martinez <joelmartinez@gmail.com> | 2017-11-21 19:29:38 +0300 |
commit | b070267b5cf3986cdd79f52244a15412d0cbf70a (patch) | |
tree | 6a3e060056563188364b65541d572be7ce92864b /mdoc | |
parent | 72b005909d786afd7db9cef01d9d87d2c050b0c7 (diff) |
mdoc: Support NuGet information in the frameworks.xml
Add two new parameters to constructor AssemblySet
Add properties to FrameworkEntry
Add integration test
Closes #81
Diffstat (limited to 'mdoc')
17 files changed, 483 insertions, 31 deletions
diff --git a/mdoc/Makefile b/mdoc/Makefile index f7dcb263..f41a5f16 100644 --- a/mdoc/Makefile +++ b/mdoc/Makefile @@ -156,6 +156,20 @@ check-monodocer-frameworks-inheritance: Test/FrameworkTestData-fx-inheritance -rm -Rf Test/en.actual $(MONO) $(PROGRAM) update -o Test/en.actual -frameworks Test/FrameworkTestData-fx-inheritance $(DIFF) Test/en.expected-frameworks-inheritance Test/en.actual + +check-monodocer-frameworks-with-nuget: + -rm -Rf Test/en.actual + -rm -rf Test/test-nuget-information/input_data + mkdir Test/test-nuget-information/input_data + mkdir Test/test-nuget-information/input_data/One + mkdir Test/test-nuget-information/input_data/Two + cp Test/DocTest-addNonGeneric.dll Test/test-nuget-information/input_data/One/ + cp Test/DocTest-DropNS-classic.dll Test/test-nuget-information/input_data/One/ + cp Test/DocTest-addNonGeneric.dll Test/test-nuget-information/input_data/Two/ + cp Test/DocTest-DropNS-classic-secondary.dll Test/test-nuget-information/input_data/Two/ + cp Test/frameworks.xml Test/test-nuget-information/input_data/ + $(MONO) $(PROGRAM) update -o Test/en.actual -frameworks Test/test-nuget-information/input_data + $(DIFF) Test/test-nuget-information/en.expected-frameworks-with-nuget-information Test/en.actual check-monodocer-docid: Test/FrameworkTestData -rm -Rf Test/en.actual @@ -543,7 +557,9 @@ check-doc-tools: check-monodocer-since \ check-monodocer-fx-statistics-remove \ check-overwrite-attribute \ check-monodocer-vbnet \ - check-monodocer-vbnet2 + check-monodocer-vbnet2 \ + check-monodocer-frameworks-with-nuget\ + check-doc-tools-update: check-monodocer-since-update \ check-monodocer-importecmadoc-update \ diff --git a/mdoc/Mono.Documentation/MDocUpdater.cs b/mdoc/Mono.Documentation/MDocUpdater.cs index d8d61ab3..13fc7423 100644 --- a/mdoc/Mono.Documentation/MDocUpdater.cs +++ b/mdoc/Mono.Documentation/MDocUpdater.cs @@ -256,7 +256,11 @@ namespace Mono.Documentation .ToArray (), Imports = f.Elements ("import") .Select (a => Path.Combine (frameworksDir, a.Value)) - .ToArray () + .ToArray (), + Version = f.Elements("package") + ?.FirstOrDefault()?.Attribute("Version")?.Value, + Id = f.Elements("package") + ?.FirstOrDefault()?.Attribute("Id")?.Value
}) .Where (f => Directory.Exists (f.Path)); @@ -282,7 +286,9 @@ namespace Mono.Documentation d.Name, getFiles (d.Path, "*.dll|*.exe|*.winmd"), this.globalSearchPaths.Union (d.SearchPaths), - d.Imports + d.Imports, + d.Version, + d.Id )); this.assemblies.AddRange (sets); assemblyPaths.AddRange (sets.SelectMany (s => s.AssemblyPaths)); @@ -300,7 +306,7 @@ namespace Mono.Documentation Console.Write ("."); foreach (var assembly in assemblySet.Assemblies) { - var a = cacheIndex.StartProcessingAssembly (assembly, assemblySet.Importers); + var a = cacheIndex.StartProcessingAssembly (assembly, assemblySet.Importers, assemblySet.Id, assemblySet.Version); foreach (var type in assembly.GetTypes ()) { var t = a.ProcessType (type); @@ -315,7 +321,7 @@ namespace Mono.Documentation } else { - this.assemblies.Add (new AssemblySet ("Default", assemblyPaths, this.globalSearchPaths, null)); + this.assemblies.Add (new AssemblySet ("Default", assemblyPaths, this.globalSearchPaths)); } if (assemblyPaths == null) @@ -629,7 +635,7 @@ namespace Mono.Documentation var namespacesSet = new HashSet<string> (); memberSet = new HashSet<string> (); - var frameworkEntry = frameworks.StartProcessingAssembly (assembly, assemblySet.Importers); + var frameworkEntry = frameworks.StartProcessingAssembly (assembly, assemblySet.Importers, assemblySet.Id, assemblySet.Version); foreach (TypeDefinition type in docEnum.GetDocumentationTypes (assembly, typenames)) { @@ -824,7 +830,7 @@ namespace Mono.Documentation else { // Stub - XmlElement td = StubType (type, output, typeEntry.Framework.Importers); + XmlElement td = StubType (type, output, typeEntry.Framework.Importers, typeEntry.Framework.Id, typeEntry.Framework.Version); if (td == null) return null; } @@ -1007,7 +1013,7 @@ namespace Mono.Documentation var typeSet = new HashSet<string> (); memberSet = new HashSet<string> (); - var frameworkEntry = frameworks.StartProcessingAssembly (assembly, assemblySet.Importers); + var frameworkEntry = frameworks.StartProcessingAssembly (assembly, assemblySet.Importers, assemblySet.Id, assemblySet.Version); foreach (TypeDefinition type in docEnum.GetDocumentationTypes (assembly, null)) { string typename = GetTypeFileName (type); @@ -1791,7 +1797,7 @@ namespace Mono.Documentation // CREATE A STUB DOCUMENTATION FILE - public XmlElement StubType (TypeDefinition type, string output, IEnumerable<DocumentationImporter> importers) + public XmlElement StubType (TypeDefinition type, string output, IEnumerable<DocumentationImporter> importers, string Id, string Version) { string typesig = typeFormatters[0].GetDeclaration (type); if (typesig == null) return null; // not publicly visible @@ -1800,7 +1806,7 @@ namespace Mono.Documentation XmlElement root = doc.CreateElement ("Type"); doc.AppendChild (root); - var frameworkEntry = frameworks.StartProcessingAssembly (type.Module.Assembly, importers); + var frameworkEntry = frameworks.StartProcessingAssembly (type.Module.Assembly, importers, Id, Version); var typeEntry = frameworkEntry.ProcessType (type); DoUpdateType2 ("New Type", doc, type, typeEntry, output, true); statisticsCollector.AddMetric (typeEntry.Framework.Name, StatisticsItem.Types, StatisticsMetrics.Added); diff --git a/mdoc/Mono.Documentation/Updater/Frameworks/AssemblySet.cs b/mdoc/Mono.Documentation/Updater/Frameworks/AssemblySet.cs index fd7934e4..f2ea096b 100644 --- a/mdoc/Mono.Documentation/Updater/Frameworks/AssemblySet.cs +++ b/mdoc/Mono.Documentation/Updater/Frameworks/AssemblySet.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections; using System.Collections.Generic; using System.IO; @@ -21,13 +21,15 @@ namespace Mono.Documentation.Updater.Frameworks IEnumerable<string> importPaths; public IEnumerable<DocumentationImporter> Importers { get; private set; } - public AssemblySet (IEnumerable<string> paths) : this ("Default", paths, new string[0], null) { } + public AssemblySet (IEnumerable<string> paths) : this ("Default", paths, new string[0]) { } - public AssemblySet (string name, IEnumerable<string> paths, IEnumerable<string> resolverSearchPaths, IEnumerable<string> imports) + public AssemblySet (string name, IEnumerable<string> paths, IEnumerable<string> resolverSearchPaths, IEnumerable<string> imports = null, string version = null, string id = null) { this.cachedResolver = new CachedResolver (this.resolver); Name = name; + Version = version; + Id = id; foreach (var path in paths) { @@ -62,6 +64,8 @@ namespace Mono.Documentation.Updater.Frameworks } public string Name { get; private set; } + public string Version { get; private set; } + public string Id { get; private set; } IEnumerable<AssemblyDefinition> assemblies; public IEnumerable<AssemblyDefinition> Assemblies diff --git a/mdoc/Mono.Documentation/Updater/Frameworks/FrameworkEntry.cs b/mdoc/Mono.Documentation/Updater/Frameworks/FrameworkEntry.cs index 2df62fa0..5bd6f346 100644 --- a/mdoc/Mono.Documentation/Updater/Frameworks/FrameworkEntry.cs +++ b/mdoc/Mono.Documentation/Updater/Frameworks/FrameworkEntry.cs @@ -20,6 +20,8 @@ namespace Mono.Documentation.Updater.Frameworks } public string Name { get; set; } + public string Version { get; set; } + public string Id { get; set; } public IEnumerable<DocumentationImporter> Importers { get; set; } diff --git a/mdoc/Mono.Documentation/Updater/Frameworks/FrameworkIndex.cs b/mdoc/Mono.Documentation/Updater/Frameworks/FrameworkIndex.cs index e392f585..4e0185cc 100644 --- a/mdoc/Mono.Documentation/Updater/Frameworks/FrameworkIndex.cs +++ b/mdoc/Mono.Documentation/Updater/Frameworks/FrameworkIndex.cs @@ -26,7 +26,7 @@ namespace Mono.Documentation.Updater.Frameworks } } - public FrameworkEntry StartProcessingAssembly (AssemblyDefinition assembly, IEnumerable<DocumentationImporter> importers) + public FrameworkEntry StartProcessingAssembly (AssemblyDefinition assembly, IEnumerable<DocumentationImporter> importers, string Id, string Version) { if (string.IsNullOrWhiteSpace (this.path)) return FrameworkEntry.Empty; @@ -42,7 +42,7 @@ namespace Mono.Documentation.Updater.Frameworks var entry = frameworks.FirstOrDefault (f => f.Name.Equals (shortPath)); if (entry == null) { - entry = new FrameworkEntry (frameworks) { Name = shortPath, Importers = importers }; + entry = new FrameworkEntry (frameworks) { Name = shortPath, Importers = importers, Id = Id, Version = Version}; frameworks.Add (entry); } return entry; @@ -58,23 +58,28 @@ namespace Mono.Documentation.Updater.Frameworks string outputPath = Path.Combine (path, "FrameworksIndex"); if (!Directory.Exists (outputPath)) Directory.CreateDirectory (outputPath); - - foreach (var fx in this.frameworks) { - - XDocument doc = new XDocument ( - new XElement("Framework", - new XAttribute ("Name", fx.Name), - fx.Types - .GroupBy(t => t.Namespace) - .Select(g => new XElement("Namespace", - new XAttribute("Name", g.Key), - g.Select (t => new XElement ("Type", - new XAttribute ("Name", t.Name), - new XAttribute("Id", t.Id), - t.Members.Select (m => - new XElement ("Member", - new XAttribute ("Id", m))))))))); + foreach (var fx in this.frameworks) + { + XElement frameworkElement = new XElement("Framework", new XAttribute("Name", fx.Name)); + XDocument doc = new XDocument( + frameworkElement + ); + if (fx.Version!=null && fx.Id!= null) + { + frameworkElement.Add(new XElement("package", new XAttribute("Id", fx.Id), + new XAttribute("Version", fx.Version) + )); + } + frameworkElement.Add(fx.Types.GroupBy(t => t.Namespace) + .Select(g => new XElement("Namespace", + new XAttribute("Name", g.Key), + g.Select(t => new XElement("Type", + new XAttribute("Name", t.Name), + new XAttribute("Id", t.Id), + t.Members.Select(m => + new XElement("Member", + new XAttribute("Id", m)))))))); // now save the document string filePath = Path.Combine (outputPath, fx.Name + ".xml"); diff --git a/mdoc/Test/frameworks.xml b/mdoc/Test/frameworks.xml new file mode 100644 index 00000000..71192bae --- /dev/null +++ b/mdoc/Test/frameworks.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<Frameworks> + <Framework Name="One" Source="One"> + <assemblySearchPath>dependencises/One</assemblySearchPath> + <package Id="thepackage" Version="2.2.2" /> + </Framework> + <Framework Name="Two" Source="Two"> + <assemblySearchPath>dependencies/Two</assemblySearchPath> + </Framework> +</Frameworks>
\ No newline at end of file diff --git a/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/FrameworksIndex/One.xml b/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/FrameworksIndex/One.xml new file mode 100644 index 00000000..8e10b992 --- /dev/null +++ b/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/FrameworksIndex/One.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<Framework Name="One"> + <package Id="thepackage" Version="2.2.2" /> + <Namespace Name="MyFramework.MyNamespace"> + <Type Name="MyFramework.MyNamespace.MyClass" Id="T:MyFramework.MyNamespace.MyClass"> + <Member Id="M:MyFramework.MyNamespace.MyClass.#ctor" /> + <Member Id="M:MyFramework.MyNamespace.MyClass.Hello(System.Int32)" /> + <Member Id="P:MyFramework.MyNamespace.MyClass.MyProperty" /> + <Member Id="P:MyFramework.MyNamespace.MyClass.OnlyInClassic" /> + </Type> + <Type Name="MyFramework.MyNamespace.MyClassExtensions" Id="T:MyFramework.MyNamespace.MyClassExtensions"> + <Member Id="M:MyFramework.MyNamespace.MyClassExtensions.AnExtension(MyFramework.MyNamespace.MyClass)" /> + </Type> + </Namespace> + <Namespace Name="MyNamespace"> + <Type Name="MyNamespace.MyClass" Id="T:MyNamespace.MyClass"> + <Member Id="M:MyNamespace.MyClass.#ctor" /> + <Member Id="M:MyNamespace.MyClass.SomeMethod``1" /> + </Type> + </Namespace> +</Framework>
\ No newline at end of file diff --git a/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/FrameworksIndex/Two.xml b/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/FrameworksIndex/Two.xml new file mode 100644 index 00000000..b697626e --- /dev/null +++ b/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/FrameworksIndex/Two.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<Framework Name="Two"> + <Namespace Name="MyFramework.MyOtherNamespace"> + <Type Name="MyFramework.MyOtherNamespace.MyOtherClass" Id="T:MyFramework.MyOtherNamespace.MyOtherClass"> + <Member Id="M:MyFramework.MyOtherNamespace.MyOtherClass.#ctor" /> + <Member Id="M:MyFramework.MyOtherNamespace.MyOtherClass.Hello(System.Double)" /> + <Member Id="M:MyFramework.MyOtherNamespace.MyOtherClass.Hello(System.Int32)" /> + <Member Id="P:MyFramework.MyOtherNamespace.MyOtherClass.MyProperty" /> + </Type> + </Namespace> + <Namespace Name="MyNamespace"> + <Type Name="MyNamespace.MyClass" Id="T:MyNamespace.MyClass"> + <Member Id="M:MyNamespace.MyClass.#ctor" /> + <Member Id="M:MyNamespace.MyClass.SomeMethod``1" /> + </Type> + </Namespace> +</Framework>
\ No newline at end of file diff --git a/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/MyFramework.MyNamespace/MyClass.xml b/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/MyFramework.MyNamespace/MyClass.xml new file mode 100644 index 00000000..57e2c54f --- /dev/null +++ b/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/MyFramework.MyNamespace/MyClass.xml @@ -0,0 +1,87 @@ +<Type Name="MyClass" FullName="MyFramework.MyNamespace.MyClass"> + <TypeSignature Language="C#" Value="public class MyClass" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MyClass extends System.Object" /> + <AssemblyInfo> + <AssemblyName>DocTest-DropNS-classic</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Object</BaseTypeName> + </Base> + <Interfaces /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public MyClass ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyName>DocTest-DropNS-classic</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Hello"> + <MemberSignature Language="C#" Value="public float Hello (int value);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance float32 Hello(int32 value) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyName>DocTest-DropNS-classic</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Single</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="value" Type="System.Int32" /> + </Parameters> + <Docs> + <param name="value">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="MyProperty"> + <MemberSignature Language="C#" Value="public string MyProperty { get; set; }" /> + <MemberSignature Language="ILAsm" Value=".property instance string MyProperty" /> + <MemberType>Property</MemberType> + <AssemblyInfo> + <AssemblyName>DocTest-DropNS-classic</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.String</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="OnlyInClassic"> + <MemberSignature Language="C#" Value="public double OnlyInClassic { get; set; }" /> + <MemberSignature Language="ILAsm" Value=".property instance float64 OnlyInClassic" /> + <MemberType>Property</MemberType> + <AssemblyInfo> + <AssemblyName>DocTest-DropNS-classic</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Double</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/MyFramework.MyNamespace/MyClassExtensions.xml b/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/MyFramework.MyNamespace/MyClassExtensions.xml new file mode 100644 index 00000000..07333a55 --- /dev/null +++ b/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/MyFramework.MyNamespace/MyClassExtensions.xml @@ -0,0 +1,39 @@ +<Type Name="MyClassExtensions" FullName="MyFramework.MyNamespace.MyClassExtensions"> + <TypeSignature Language="C#" Value="public static class MyClassExtensions" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract sealed beforefieldinit MyClassExtensions extends System.Object" /> + <AssemblyInfo> + <AssemblyName>DocTest-DropNS-classic</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Object</BaseTypeName> + </Base> + <Interfaces /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName="AnExtension"> + <MemberSignature Language="C#" Value="public static bool AnExtension (this MyFramework.MyNamespace.MyClass value);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool AnExtension(class MyFramework.MyNamespace.MyClass value) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyName>DocTest-DropNS-classic</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Boolean</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="value" Type="MyFramework.MyNamespace.MyClass" RefType="this" /> + </Parameters> + <Docs> + <param name="value">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/MyFramework.MyOtherNamespace/MyOtherClass.xml b/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/MyFramework.MyOtherNamespace/MyOtherClass.xml new file mode 100644 index 00000000..c1a2fd15 --- /dev/null +++ b/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/MyFramework.MyOtherNamespace/MyOtherClass.xml @@ -0,0 +1,91 @@ +<Type Name="MyOtherClass" FullName="MyFramework.MyOtherNamespace.MyOtherClass"> + <TypeSignature Language="C#" Value="public class MyOtherClass" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MyOtherClass extends System.Object" /> + <AssemblyInfo> + <AssemblyName>DocTest-DropNS-classic-secondary</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Object</BaseTypeName> + </Base> + <Interfaces /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public MyOtherClass ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyName>DocTest-DropNS-classic-secondary</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Hello"> + <MemberSignature Language="C#" Value="public float Hello (double value);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance float32 Hello(float64 value) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyName>DocTest-DropNS-classic-secondary</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Single</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="value" Type="System.Double" /> + </Parameters> + <Docs> + <param name="value">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Hello"> + <MemberSignature Language="C#" Value="public float Hello (int value);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance float32 Hello(int32 value) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyName>DocTest-DropNS-classic-secondary</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Single</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="value" Type="System.Int32" /> + </Parameters> + <Docs> + <param name="value">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="MyProperty"> + <MemberSignature Language="C#" Value="public string MyProperty { get; set; }" /> + <MemberSignature Language="ILAsm" Value=".property instance string MyProperty" /> + <MemberType>Property</MemberType> + <AssemblyInfo> + <AssemblyName>DocTest-DropNS-classic-secondary</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.String</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/MyNamespace/MyClass.xml b/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/MyNamespace/MyClass.xml new file mode 100644 index 00000000..20a7104b --- /dev/null +++ b/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/MyNamespace/MyClass.xml @@ -0,0 +1,54 @@ +<Type Name="MyClass" FullName="MyNamespace.MyClass"> + <TypeSignature Language="C#" Value="public class MyClass" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MyClass extends System.Object" /> + <AssemblyInfo> + <AssemblyName>DocTest-addNonGeneric</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Object</BaseTypeName> + </Base> + <Interfaces /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public MyClass ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyName>DocTest-addNonGeneric</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="SomeMethod<T>"> + <MemberSignature Language="C#" Value="public string SomeMethod<T> ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string SomeMethod<T>() cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyName>DocTest-addNonGeneric</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.String</ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="T" /> + </TypeParameters> + <Parameters /> + <Docs> + <typeparam name="T">To be added.</typeparam> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/index.xml b/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/index.xml new file mode 100644 index 00000000..6abf1402 --- /dev/null +++ b/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/index.xml @@ -0,0 +1,72 @@ +<Overview> + <Assemblies> + <Assembly Name="DocTest-DropNS-classic" Version="0.0.0.0"> + <Attributes> + <Attribute> + <AttributeName>System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute+DebuggingModes.IgnoreSymbolStoreSequencePoints)</AttributeName> + </Attribute> + <Attribute> + <AttributeName>System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows=true)</AttributeName> + </Attribute> + </Attributes> + </Assembly> + <Assembly Name="DocTest-DropNS-classic-secondary" Version="0.0.0.0"> + <Attributes> + <Attribute> + <AttributeName>System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute+DebuggingModes.IgnoreSymbolStoreSequencePoints)</AttributeName> + </Attribute> + <Attribute> + <AttributeName>System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows=true)</AttributeName> + </Attribute> + </Attributes> + </Assembly> + <Assembly Name="DocTest-addNonGeneric" Version="0.0.0.0"> + <Attributes> + <Attribute> + <AttributeName>System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute+DebuggingModes.IgnoreSymbolStoreSequencePoints)</AttributeName> + </Attribute> + <Attribute> + <AttributeName>System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows=true)</AttributeName> + </Attribute> + </Attributes> + </Assembly> + </Assemblies> + <Remarks>To be added.</Remarks> + <Copyright>To be added.</Copyright> + <Types> + <Namespace Name="MyFramework.MyNamespace"> + <Type Name="MyClass" Kind="Class" /> + <Type Name="MyClassExtensions" Kind="Class" /> + </Namespace> + <Namespace Name="MyFramework.MyOtherNamespace"> + <Type Name="MyOtherClass" Kind="Class" /> + </Namespace> + <Namespace Name="MyNamespace"> + <Type Name="MyClass" Kind="Class" /> + </Namespace> + </Types> + <Title>Untitled</Title> + <ExtensionMethods> + <ExtensionMethod> + <Targets> + <Target Type="T:MyFramework.MyNamespace.MyClass" /> + </Targets> + <Member MemberName="AnExtension"> + <MemberSignature Language="C#" Value="public static bool AnExtension (this MyFramework.MyNamespace.MyClass value);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool AnExtension(class MyFramework.MyNamespace.MyClass value) cil managed" /> + <MemberType>ExtensionMethod</MemberType> + <ReturnValue> + <ReturnType>System.Boolean</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="value" Type="MyFramework.MyNamespace.MyClass" RefType="this" /> + </Parameters> + <Docs> + <param name="value">To be added.</param> + <summary>To be added.</summary> + </Docs> + <Link Type="MyFramework.MyNamespace.MyClassExtensions" Member="M:MyFramework.MyNamespace.MyClassExtensions.AnExtension(MyFramework.MyNamespace.MyClass)" /> + </Member> + </ExtensionMethod> + </ExtensionMethods> +</Overview> diff --git a/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/ns-MyFramework.MyNamespace.xml b/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/ns-MyFramework.MyNamespace.xml new file mode 100644 index 00000000..74df75af --- /dev/null +++ b/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/ns-MyFramework.MyNamespace.xml @@ -0,0 +1,6 @@ +<Namespace Name="MyFramework.MyNamespace"> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Namespace> diff --git a/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/ns-MyFramework.MyOtherNamespace.xml b/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/ns-MyFramework.MyOtherNamespace.xml new file mode 100644 index 00000000..8bdef1c7 --- /dev/null +++ b/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/ns-MyFramework.MyOtherNamespace.xml @@ -0,0 +1,6 @@ +<Namespace Name="MyFramework.MyOtherNamespace"> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Namespace> diff --git a/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/ns-MyNamespace.xml b/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/ns-MyNamespace.xml new file mode 100644 index 00000000..bd8d4316 --- /dev/null +++ b/mdoc/Test/test-nuget-information/en.expected-frameworks-with-nuget-information/ns-MyNamespace.xml @@ -0,0 +1,6 @@ +<Namespace Name="MyNamespace"> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Namespace> diff --git a/mdoc/Test/test-nuget-information/input_data/frameworks.xml b/mdoc/Test/test-nuget-information/input_data/frameworks.xml new file mode 100644 index 00000000..71192bae --- /dev/null +++ b/mdoc/Test/test-nuget-information/input_data/frameworks.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<Frameworks> + <Framework Name="One" Source="One"> + <assemblySearchPath>dependencises/One</assemblySearchPath> + <package Id="thepackage" Version="2.2.2" /> + </Framework> + <Framework Name="Two" Source="Two"> + <assemblySearchPath>dependencies/Two</assemblySearchPath> + </Framework> +</Frameworks>
\ No newline at end of file |