private static void TestOthers(BuildDocumenter documenter, TestOptions options) { string helpRegisterDir = Path.Combine(sampleDir, @"SampleRegisterTopics\"); // Prepare the documents and project file paths //string projectFile = Path.Combine(helpRegisterDir, "Topics.xml"); string projectFile = Path.Combine(helpRegisterDir, "Topics.sandtopics"); string documentsDir = Path.Combine(helpRegisterDir, "Documents"); // First add the conceptual contents for the topics... ConceptualGroup registerGroup = new ConceptualGroup( "HelpRegister User Manual", TestGroupIds.RegisterTopicsGroupId); registerGroup.RunningHeaderText = "Sandcastle HelpRegister: User Manual"; registerGroup.CreateContent(documentsDir, projectFile); string mediaLinks = Path.Combine(helpRegisterDir, "MediaContent.media"); MediaContent mediaContent = new MediaContent(mediaLinks, Path.Combine(helpRegisterDir, "Media")); //mediaContent.Load(); registerGroup.AddMedia(mediaContent); ConceptualContent content = registerGroup.Content; registerGroup.ContentFile = new BuildFilePath(Path.Combine(workingDir, "OtherConceptual" + BuildFileExts.ConceptualGroupExt)); content.ContentFile = new BuildFilePath(Path.Combine(workingDir, "OtherConceptual" + BuildFileExts.ConceptualContentExt)); documenter.AddGroup(registerGroup); }
private static void TestMain(BuildDocumenter documenter, TestOptions options) { string helpTestDir = Path.Combine(sampleDir, @"SampleTopics\"); // Prepare the documents and project file paths //string projectFile = Path.Combine(helpTestDir, "Topics.xml"); string projectFile = Path.Combine(helpTestDir, "Topics.sandtopics"); string documentsDir = Path.Combine(helpTestDir, "Documents"); // First add the conceptual contents for the topics... ConceptualGroup testsGroup = new ConceptualGroup( "Test Topics", TestGroupIds.SampleTopicsGroupId); testsGroup.ChangeHistory = ConceptualChangeHistory.ShowFreshnessDate; testsGroup.RunningHeaderText = "Sandcastle Helpers: Test Topics"; testsGroup.CreateContent(documentsDir, projectFile); string mediaLinks = Path.Combine(helpTestDir, "MediaContent.media"); MediaContent mediaContent = new MediaContent(mediaLinks, Path.Combine(helpTestDir, "Media")); //mediaContent.Load(); testsGroup.AddMedia(mediaContent); testsGroup.AddSnippet(new CodeSnippetContent(Path.Combine( helpTestDir, "CodeSnippetSample.snippets"))); ConceptualContent content = testsGroup.Content; testsGroup.ContentFile = new BuildFilePath(Path.Combine(workingDir, "MainConceptual" + BuildFileExts.ConceptualGroupExt)); content.ContentFile = new BuildFilePath(Path.Combine(workingDir, "MainConceptual" + BuildFileExts.ConceptualContentExt)); documenter.AddGroup(testsGroup); }
protected override bool OnExecute(BuildContext context) { BuildLogger logger = context.Logger; 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."); } if (_group == null) { if (logger != null) { logger.WriteLine("StepConceptualInit: No conceptual group is attached to this step.", BuildLoggerLevel.Error); } return(false); } if (!_group.IsInitialized) { if (logger != null) { logger.WriteLine("StepConceptualInit: The attached conceptual group is not initialized.", BuildLoggerLevel.Error); } return(false); } ConceptualContent content = _group.Content; bool outputTopics = true; bool applyVisitors = true; string tempText = groupContext["$OutputTopics"]; if (!String.IsNullOrEmpty(tempText)) { outputTopics = Convert.ToBoolean(tempText); } tempText = groupContext["$ApplyVisitors"]; if (!String.IsNullOrEmpty(tempText)) { applyVisitors = Convert.ToBoolean(tempText); } // Make sure the require directories are all created... string workingDir = context.WorkingDirectory; string ddueXmlDir = Path.Combine(workingDir, groupContext["$DdueXmlDir"]); string ddueCompDir = Path.Combine(workingDir, groupContext["$DdueXmlCompDir"]); string ddueHtmlDir = Path.Combine(workingDir, groupContext["$DdueHtmlDir"]); if (!Directory.Exists(ddueXmlDir)) { Directory.CreateDirectory(ddueXmlDir); } if (!Directory.Exists(ddueCompDir)) { Directory.CreateDirectory(ddueCompDir); } if (!Directory.Exists(ddueHtmlDir)) { Directory.CreateDirectory(ddueHtmlDir); } // Some content sources will directly generate the project files // required for the conceptual help compilation and will not required // the default visitors to be applies. // Apply the visitors to create the project/supporting files... if (applyVisitors || outputTopics) { ConceptualProjectVisitor projVisitor = new ConceptualProjectVisitor(); projVisitor.ApplyAdapters = applyVisitors; projVisitor.OutputTopics = outputTopics; projVisitor.Initialize(context); projVisitor.Visit(_group); projVisitor.Uninitialize(); projVisitor.Dispose(); } // Finally, write out the conceptual project settings... this.WriteSettings(groupContext); return(true); }