protected virtual void WriteSyntaxGenerators(XmlWriter xmlWriter, bool includeUsage) { BuildSettings settings = _context.Settings; if (settings == null) { return; } BuildSyntaxType syntaxType = _group.SyntaxType; if (syntaxType == BuildSyntaxType.None) { return; } string syntaxComponents = null; if (_context.IsDirectSandcastle && (!String.IsNullOrEmpty(_sandcastleAssistDir) && Directory.Exists(_sandcastleAssistDir))) { syntaxComponents = Path.Combine(_sandcastleAssistDir, "Sandcastle.BuildAssembler.dll"); } else { syntaxComponents = Path.Combine(_sandcastleDir, @"ProductionTools\SyntaxComponents.dll"); } //<generator type="Microsoft.Ddue.Tools.VisualBasicDeclarationSyntaxGenerator" // assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" /> //<generator type="Microsoft.Ddue.Tools.CSharpDeclarationSyntaxGenerator" // assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" /> //<generator type="Microsoft.Ddue.Tools.CPlusPlusDeclarationSyntaxGenerator" // assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" /> //<generator type="Microsoft.Ddue.Tools.JSharpDeclarationSyntaxGenerator" // assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" /> //<generator type="Microsoft.Ddue.Tools.ScriptSharpDeclarationSyntaxGenerator" // assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll" /> //<generator type="Microsoft.Ddue.Tools.XamlUsageSyntaxGenerator" // assembly="%DXROOT%\ProductionTools\SyntaxComponents.dll"> // <filter files="%DXROOT%\Presentation\Shared\configuration\xamlSyntax.config" /> // </generator> if ((syntaxType & BuildSyntaxType.CSharp) != 0) { xmlWriter.WriteStartElement("generator"); // start - generator xmlWriter.WriteAttributeString("type", "Microsoft.Ddue.Tools.CSharpDeclarationSyntaxGenerator"); xmlWriter.WriteAttributeString("assembly", syntaxComponents); xmlWriter.WriteEndElement(); // end - generator } if ((syntaxType & BuildSyntaxType.VisualBasic) != 0) { xmlWriter.WriteStartElement("generator"); // start - generator xmlWriter.WriteAttributeString("type", "Microsoft.Ddue.Tools.VisualBasicDeclarationSyntaxGenerator"); xmlWriter.WriteAttributeString("assembly", syntaxComponents); xmlWriter.WriteEndElement(); // end - generator } if (includeUsage) { xmlWriter.WriteStartElement("generator"); // start - generator xmlWriter.WriteAttributeString("type", "Microsoft.Ddue.Tools.VisualBasicUsageSyntaxGenerator"); xmlWriter.WriteAttributeString("assembly", syntaxComponents); xmlWriter.WriteEndElement(); // end - generator } if ((syntaxType & BuildSyntaxType.CPlusPlus) != 0) { xmlWriter.WriteStartElement("generator"); // start - generator xmlWriter.WriteAttributeString("type", "Microsoft.Ddue.Tools.CPlusPlusDeclarationSyntaxGenerator"); xmlWriter.WriteAttributeString("assembly", syntaxComponents); xmlWriter.WriteEndElement(); // end - generator } if ((syntaxType & BuildSyntaxType.JSharp) != 0) { xmlWriter.WriteStartElement("generator"); // start - generator xmlWriter.WriteAttributeString("type", "Microsoft.Ddue.Tools.JSharpDeclarationSyntaxGenerator"); xmlWriter.WriteAttributeString("assembly", syntaxComponents); xmlWriter.WriteEndElement(); // end - generator } if ((syntaxType & BuildSyntaxType.JScript) != 0) { xmlWriter.WriteStartElement("generator"); // start - generator xmlWriter.WriteAttributeString("type", "Microsoft.Ddue.Tools.JScriptDeclarationSyntaxGenerator"); xmlWriter.WriteAttributeString("assembly", syntaxComponents); xmlWriter.WriteEndElement(); // end - generator } if ((syntaxType & BuildSyntaxType.JavaScript) != 0) { xmlWriter.WriteStartElement("generator"); // start - generator xmlWriter.WriteAttributeString("type", "Microsoft.Ddue.Tools.ScriptSharpDeclarationSyntaxGenerator"); xmlWriter.WriteAttributeString("assembly", syntaxComponents); xmlWriter.WriteEndElement(); // end - generator } if ((syntaxType & BuildSyntaxType.Xaml) != 0) { xmlWriter.WriteStartElement("generator"); // start - generator xmlWriter.WriteAttributeString("type", "Microsoft.Ddue.Tools.XamlUsageSyntaxGenerator"); xmlWriter.WriteAttributeString("assembly", syntaxComponents); xmlWriter.WriteStartElement("filter"); // start - filter xmlWriter.WriteAttributeString("files", Path.Combine(_sandcastleDir, @"Presentation\Shared\configuration\xamlSyntax.config")); xmlWriter.WriteEndElement(); // end - filter // If the group XAML configuration is created, we use it... BuildGroupContext groupContext = _context.GroupContexts[_group.Id]; if (groupContext == null) { throw new BuildException( "The group context is not provided, and it is required by the build system."); } string xamlConfig = groupContext["$XamlSyntaxFile"]; if (!String.IsNullOrEmpty(xamlConfig)) { if (!Path.IsPathRooted(xamlConfig)) { xamlConfig = Path.Combine(_context.WorkingDirectory, xamlConfig); } if (File.Exists(xamlConfig)) { xmlWriter.WriteStartElement("filter"); // start - filter xmlWriter.WriteAttributeString("files", xamlConfig); xmlWriter.WriteEndElement(); // end - filter } } xmlWriter.WriteEndElement(); // end - generator } }
protected virtual void WriteSyntaxTypes(XmlWriter xmlWriter, bool includeUsage) { BuildSettings settings = _context.Settings; if (settings == null) { return; } BuildSyntaxType syntaxType = _group.SyntaxType; if (syntaxType == BuildSyntaxType.None) { return; } // <language label="VisualBasic" name="VisualBasic" style="vb" /> // <language label="CSharp" name="CSharp" style="cs" /> // <language label="ManagedCPlusPlus" name="ManagedCPlusPlus" style="cpp" /> // <language label="JSharp" name="JSharp" style="cs" /> // <language label="JScript" name="JScript" style="cs" /> if ((syntaxType & BuildSyntaxType.CSharp) != 0) { xmlWriter.WriteStartElement("language"); // start - language xmlWriter.WriteAttributeString("label", "CSharp"); xmlWriter.WriteAttributeString("name", "CSharp"); xmlWriter.WriteAttributeString("style", "cs"); xmlWriter.WriteEndElement(); // end - language } if ((syntaxType & BuildSyntaxType.VisualBasic) != 0) { xmlWriter.WriteStartElement("language"); // start - language xmlWriter.WriteAttributeString("label", "VisualBasic"); xmlWriter.WriteAttributeString("name", "VisualBasic"); xmlWriter.WriteAttributeString("style", "vb"); xmlWriter.WriteEndElement(); // end - language } if (includeUsage) { xmlWriter.WriteStartElement("language"); // start - language xmlWriter.WriteAttributeString("label", "VisualBasicUsage"); xmlWriter.WriteAttributeString("name", "VisualBasicUsage"); xmlWriter.WriteAttributeString("style", "vb"); xmlWriter.WriteEndElement(); // end - language } if ((syntaxType & BuildSyntaxType.CPlusPlus) != 0) { xmlWriter.WriteStartElement("language"); // start - language xmlWriter.WriteAttributeString("label", "ManagedCPlusPlus"); xmlWriter.WriteAttributeString("name", "ManagedCPlusPlus"); xmlWriter.WriteAttributeString("style", "cpp"); xmlWriter.WriteEndElement(); // end - language } if ((syntaxType & BuildSyntaxType.JSharp) != 0) { xmlWriter.WriteStartElement("language"); // start - language xmlWriter.WriteAttributeString("label", "JSharp"); xmlWriter.WriteAttributeString("name", "JSharp"); xmlWriter.WriteAttributeString("style", "cs"); xmlWriter.WriteEndElement(); // end - language } if ((syntaxType & BuildSyntaxType.JScript) != 0) { xmlWriter.WriteStartElement("language"); // start - language xmlWriter.WriteAttributeString("label", "JScript"); xmlWriter.WriteAttributeString("name", "JScript"); xmlWriter.WriteAttributeString("style", "cs"); xmlWriter.WriteEndElement(); // end - language } if ((syntaxType & BuildSyntaxType.JavaScript) != 0) { xmlWriter.WriteStartElement("language"); // start - language xmlWriter.WriteAttributeString("label", "JavaScript"); xmlWriter.WriteAttributeString("name", "JavaScript"); xmlWriter.WriteAttributeString("style", "cs"); xmlWriter.WriteEndElement(); // end - language } if ((syntaxType & BuildSyntaxType.Xaml) != 0) { xmlWriter.WriteStartElement("language"); // start - language xmlWriter.WriteAttributeString("label", "XAML"); xmlWriter.WriteAttributeString("name", "XAML"); xmlWriter.WriteAttributeString("style", "cs"); xmlWriter.WriteEndElement(); // end - language } }