Exemplo n.º 1
0
        private static void TestSharpScript(BuildDocumenter documenter,
                                            TestOptions options, ReferenceEngineSettings engineSettings)
        {
            if (tocType == CustomTocType.ReferenceRoot)
            {
                return;
            }

            //string libraryDir = Path.Combine(sampleDir, @"SampleTestLibraryCLR\");
            //string outputDir = Path.Combine(libraryDir, @"Output\");
            //string projectDoc = Path.Combine(outputDir, "Project.xml");

            string sourceFile =
                @"F:\SandcastleAssist\Development\Source\Tests\ScriptSample\samples\PhotoDemo\PhotoDemo.sln";
            ReferenceVsNetSource vsSource = new ReferenceVsNetSource();
            ReferenceVsNetItem   vsItem   = new ReferenceVsNetItem(
                new BuildFilePath(sourceFile));

            vsItem.XamlSyntax = false;
            vsItem.AddInclude("{5F2605F7-5F00-4756-AC61-1D83B0E541E4}");
            vsItem.AddInclude("{16B291CB-4AC1-41B9-943C-341FB528D7A1}");
            vsItem.AddInclude("{4D8373CD-6685-4288-A1FF-1E37319D60D4}");
            vsSource.Add(vsItem);

            //CommentContent comments = vsSource.Comments;
            //CommentItem projItem = new CommentItem("R:Project",
            //    CommentItemType.Project);
            //projItem.Value.Add(new CommentPart("Summary of the project",
            //    CommentPartType.Summary));
            //comments.Add(projItem);
            //CommentItem nsItem = new CommentItem("N:TestLibraryCLR",
            //    CommentItemType.Namespace);
            //nsItem.Value.Add(new CommentPart("Summary of the namespace",
            //    CommentPartType.Summary));
            //comments.Add(nsItem);

            ReferenceGroup apiGroup = new ReferenceGroup(
                "Test ScriptSharp Library", Guid.NewGuid().ToString(), vsSource);

            apiGroup.RunningHeaderText = "Sandcastle Helpers: ScriptSharp Library";

            apiGroup.VersionType = ReferenceVersionType.AssemblyAndFile;
            apiGroup.SyntaxType  = BuildSyntaxType.CSharp | BuildSyntaxType.JavaScript;

            if (engineSettings.RootNamespaceContainer)
            {
                apiGroup.RootNamespaceTitle = "Testing ScriptSharp Library";
            }

            //ReferenceContent apiContent = apiGroup.Content;
            //apiContent.FrameworkType = BuildFrameworkType.Framework20;

            //apiGroup.AddItem(projectDoc, null);
            //apiContent.AddItem(Path.Combine(outputDir, "SampleLibraryCLR.xml"),
            //    Path.Combine(outputDir, "SampleLibraryCLR.dll"));

            //apiContent.AddDependency(Path.Combine(outputDir, ""));

            documenter.AddGroup(apiGroup);
        }
Exemplo n.º 2
0
        private static void TestOthers(BuildDocumenter documenter,
                                       TestOptions options, ReferenceEngineSettings engineSettings)
        {
            if (tocType == CustomTocType.ReferenceRoot)
            {
                return;
            }

            //string libraryDir = Path.Combine(sampleDir, @"SampleTestLibraryCLR\");
            //string outputDir = Path.Combine(libraryDir, @"Output\");
            //string projectDoc = Path.Combine(outputDir, "Project.xml");

            string sourceFile =
                @"F:\SandcastleAssist\Main\Samples\HelpersSamples.sln";
            ReferenceVsNetSource vsSource = new ReferenceVsNetSource();
            ReferenceVsNetItem   vsItem   = new ReferenceVsNetItem(
                new BuildFilePath(sourceFile));

            //vsItem.XamlSyntax = false;
            vsItem.AddInclude("{41A48F1C-3E52-4995-B181-363EDBC02CA0}");
            vsSource.Add(vsItem);

            CommentContent comments = vsSource.Comments;
            CommentItem    projItem = new CommentItem("R:Project",
                                                      CommentItemType.Project);

            projItem.Value.Add(new CommentPart("Summary of the project",
                                               CommentPartType.Summary));
            comments.Add(projItem);
            CommentItem nsItem = new CommentItem("N:TestLibraryCLR",
                                                 CommentItemType.Namespace);

            nsItem.Value.Add(new CommentPart("Summary of the namespace",
                                             CommentPartType.Summary));
            comments.Add(nsItem);

            ReferenceGroup apiGroup = new ReferenceGroup(
                "Test CPP-CLR Library", Guid.NewGuid().ToString(), vsSource);

            apiGroup.RunningHeaderText = "Sandcastle Helpers: C++/CLR Library";

            apiGroup.VersionType = ReferenceVersionType.AssemblyAndFile;

            if (engineSettings.RootNamespaceContainer)
            {
                apiGroup.RootNamespaceTitle = "Testing C++/CLR Library";
            }

            //ReferenceContent apiContent = apiGroup.Content;
            //apiContent.FrameworkType = BuildFrameworkType.Framework20;

            //apiGroup.AddItem(projectDoc, null);
            //apiContent.AddItem(Path.Combine(outputDir, "SampleLibraryCLR.xml"),
            //    Path.Combine(outputDir, "SampleLibraryCLR.dll"));

            //apiContent.AddDependency(Path.Combine(outputDir, ""));

            documenter.AddGroup(apiGroup);
        }
Exemplo n.º 3
0
        private static void TestSilverlight(BuildDocumenter documenter,
                                            TestOptions options, ReferenceEngineSettings engineSettings)
        {
            if (tocType == CustomTocType.ReferenceRoot)
            {
                return;
            }

            //string libraryDir = Path.Combine(sampleDir, @"SampleTestLibraryCLR\");
            //string outputDir = Path.Combine(libraryDir, @"Output\");
            //string projectDoc = Path.Combine(outputDir, "Project.xml");

            string sourceFile =
                @"F:\SandcastleAssist\Development\Source\Tests\SilverlightClassLibrary3\SilverlightClassLibrary3.sln";
            ReferenceVsNetSource vsSource = new ReferenceVsNetSource();
            ReferenceVsNetItem   vsItem   = new ReferenceVsNetItem(
                new BuildFilePath(sourceFile));

            vsItem.XamlSyntax = false;
            vsSource.Add(vsItem);

            //CommentContent comments = vsSource.Comments;
            //CommentItem projItem = new CommentItem("R:Project",
            //    CommentItemType.Project);
            //projItem.Value.Add(new CommentPart("Summary of the project",
            //    CommentPartType.Summary));
            //comments.Add(projItem);
            //CommentItem nsItem = new CommentItem("N:TestLibraryCLR",
            //    CommentItemType.Namespace);
            //nsItem.Value.Add(new CommentPart("Summary of the namespace",
            //    CommentPartType.Summary));
            //comments.Add(nsItem);

            ReferenceGroup apiGroup = new ReferenceGroup(
                "Test Silverlight 5 Library", Guid.NewGuid().ToString(), vsSource);

            apiGroup.RunningHeaderText = "Sandcastle Helpers: Silverlight 5";

            apiGroup.VersionType = ReferenceVersionType.AssemblyAndFile;

            if (engineSettings.RootNamespaceContainer)
            {
                apiGroup.RootNamespaceTitle = "Testing Silverlight 5";
            }

            //ReferenceContent apiContent = apiGroup.Content;
            //apiContent.FrameworkType = BuildFrameworkType.Framework20;

            //apiGroup.AddItem(projectDoc, null);
            //apiContent.AddItem(Path.Combine(outputDir, "SampleLibraryCLR.xml"),
            //    Path.Combine(outputDir, "SampleLibraryCLR.dll"));

            //apiContent.AddDependency(Path.Combine(outputDir, ""));

            apiGroup.ContentFile = new BuildFilePath(Path.Combine(workingDir,
                                                                  "Silverlight.Group" + BuildFileExts.ReferenceGroupExt));

            documenter.AddGroup(apiGroup);
        }
Exemplo n.º 4
0
        private static void TestSolution(BuildDocumenter documenter,
                                         TestOptions options, ReferenceEngineSettings engineSettings)
        {
            if (tocType == CustomTocType.ReferenceRoot)
            {
                return;
            }

            string sourceFile =
                @"F:\SandcastleAssist\Main\Tests\SmartDeviceProjectCE\SmartDeviceProjectCE.csproj";
            ReferenceVsNetSource vsSource = new ReferenceVsNetSource();
            ReferenceVsNetItem   vsItem   = new ReferenceVsNetItem(
                new BuildFilePath(sourceFile));

            vsItem.XamlSyntax = false;
            vsSource.Add(vsItem);

            //CommentContent comments = vsSource.Comments;
            //CommentItem projItem = new CommentItem("R:Project",
            //    CommentItemType.Project);
            //projItem.Value.Add(new CommentPart("Summary of the project",
            //    CommentPartType.Summary));
            //comments.Add(projItem);
            //CommentItem nsItem = new CommentItem("N:TestLibraryCLR",
            //    CommentItemType.Namespace);
            //nsItem.Value.Add(new CommentPart("Summary of the namespace",
            //    CommentPartType.Summary));
            //comments.Add(nsItem);

            ReferenceGroup apiGroup = new ReferenceGroup(
                "Test Compact Framework Library", Guid.NewGuid().ToString(), vsSource);

            apiGroup.RunningHeaderText = "Sandcastle Helpers: Compact Framework";

            apiGroup.VersionType = ReferenceVersionType.AssemblyAndFile;

            if (engineSettings.RootNamespaceContainer)
            {
                apiGroup.RootNamespaceTitle = "Testing Compact Framework";
            }

            //ReferenceContent apiContent = apiGroup.Content;
            //apiContent.FrameworkType = BuildFrameworkType.Framework20;

            //apiGroup.AddItem(projectDoc, null);
            //apiContent.AddItem(Path.Combine(outputDir, "SampleLibraryCLR.xml"),
            //    Path.Combine(outputDir, "SampleLibraryCLR.dll"));

            //apiContent.AddDependency(Path.Combine(outputDir, ""));

            documenter.AddGroup(apiGroup);
        }
Exemplo n.º 5
0
        public void SendGroupMessage(BroadcastMessageDataObject _msg)
        {
            if (_msg == null || Owner == null)
            {
                return;
            }

            PrintDebugLog(this, "send from ID : " + Owner.GetInstanceID() + " - " + _msg.Type.ToString());

            if (ReferenceGroup != null)
            {
                ReferenceGroup.Message(Owner, _msg);
            }
        }
Exemplo n.º 6
0
        private static void TestHierarchicalToc(BuildDocumenter documenter,
                                                TestOptions options, ReferenceEngineSettings engineSettings)
        {
            if (tocType == CustomTocType.ReferenceRoot)
            {
                return;
            }

            string libraryDir = Path.Combine(sampleDir, @"SampleHierarchicalToc\");

            string outputDir = Path.Combine(libraryDir, @"Output\");
            //string projectDoc = Path.Combine(outputDir, "Project.xml");

            ReferenceGroup apiGroup = new ReferenceGroup(
                "Test Hierarchical Toc References", TestGroupIds.TestTocLibGroupId);

            apiGroup.RunningHeaderText = "Sandcastle Helpers: Test Hierarchical Toc";
            apiGroup.RootTopicId       = "d36e744f-c053-4e94-9ac9-b1ee054d8de1";

            apiGroup.VersionType = ReferenceVersionType.AssemblyAndFile;

            if (engineSettings.RootNamespaceContainer)
            {
                apiGroup.RootNamespaceTitle = "HierarchicalToc Test References";
            }

            ReferenceContent apiContent = apiGroup.Content;

            apiGroup.ContentFile = new BuildFilePath(Path.Combine(workingDir,
                                                                  "HierarchicalToc" + BuildFileExts.ReferenceGroupExt));

            apiContent.ContentFile = new BuildFilePath(Path.Combine(workingDir,
                                                                    "HierarchicalToc" + BuildFileExts.ReferenceContentExt));

            apiContent.FrameworkType = BuildFrameworkType.Framework35;

            //apiGroup.AddItem(projectDoc, null);
            apiContent.AddItem(Path.Combine(outputDir, "SampleHierarchicalToc.xml"),
                               Path.Combine(outputDir, "SampleHierarchicalToc.dll"));

            //apiContent.AddDependency(Path.Combine(outputDir, "TestLibrary.dll"));

            documenter.AddGroup(apiGroup);
        }
Exemplo n.º 7
0
        private static void TestOthers0(BuildDocumenter documenter,
                                        TestOptions options, ReferenceEngineSettings engineSettings)
        {
            if (tocType == CustomTocType.ReferenceRoot)
            {
                return;
            }

            string libraryDir = Path.Combine(sampleDir, @"SampleTestLibraryCLR\");

            string outputDir = Path.Combine(libraryDir, @"Output\");
            //string projectDoc = Path.Combine(outputDir, "Project.xml");

            ReferenceGroup apiGroup = new ReferenceGroup(
                "Test CPP-CLR Library", Guid.NewGuid().ToString());

            apiGroup.RunningHeaderText = "Sandcastle Helpers: C++/CLR Library";

            apiGroup.VersionType = ReferenceVersionType.AssemblyAndFile;

            if (engineSettings.RootNamespaceContainer)
            {
                apiGroup.RootNamespaceTitle = "Testing C++/CLR Library";
            }

            ReferenceContent apiContent = apiGroup.Content;

            apiGroup.ContentFile = new BuildFilePath(Path.Combine(workingDir,
                                                                  "OtherReference" + BuildFileExts.ReferenceGroupExt));

            apiContent.ContentFile = new BuildFilePath(Path.Combine(workingDir,
                                                                    "OtherReference" + BuildFileExts.ReferenceContentExt));

            apiContent.FrameworkType = BuildFrameworkType.Framework20;

            //apiGroup.AddItem(projectDoc, null);
            apiContent.AddItem(Path.Combine(outputDir, "SampleLibraryCLR.xml"),
                               Path.Combine(outputDir, "SampleLibraryCLR.dll"));

            //apiContent.AddDependency(Path.Combine(outputDir, ""));

            documenter.AddGroup(apiGroup);
        }
Exemplo n.º 8
0
        public override IList <BuildGroup> Create(BuildSettings settings,
                                                  BuildContext context)
        {
            bool includesConceptuals = this.IncludesConceptuals;
            bool includesReferences  = this.IncludesReferences;

            BuildLogger logger = null;

            if (context != null && context.IsInitialized)
            {
                logger = context.Logger;

                if (!settings.BuildConceptual)
                {
                    includesConceptuals = false;
                }
                if (!settings.BuildReferences)
                {
                    includesReferences = false;
                }
            }

            // 1. This source must be usable...
            if (!this.IsInitialized)
            {
                throw new BuildException(String.Format(
                                             "The content source '{0}' is not yet initialized.", this.Title));
            }
            if (!this.IsValid)
            {
                if (logger != null)
                {
                    logger.WriteLine(String.Format(
                                         "The import group source '{0}' is invalid.", this.Title),
                                     BuildLoggerLevel.Warn);
                }

                return(null);
            }

            // 2. At least one group must be allowed...
            if (!includesConceptuals && !includesReferences)
            {
                return(null);
            }

            // 3. Go over the list and create the requested groups...
            List <BuildGroup> groups = new List <BuildGroup>();

            for (int i = 0; i < _listImports.Count; i++)
            {
                BuildGroup group = null;

                BuildFilePath importFile = _listImports[i];
                if (importFile == null || !importFile.Exists)
                {
                    if (logger != null)
                    {
                        logger.WriteLine(String.Format(
                                             "The import file '{0}' for '{1}' does not exist.",
                                             importFile.Path, this.Title), BuildLoggerLevel.Warn);
                    }

                    continue;
                }

                string importExt = importFile.Extension;
                if (!String.IsNullOrEmpty(importExt))
                {
                    if (logger != null)
                    {
                        logger.WriteLine(String.Format(
                                             "The import file '{0}' for '{1}' does not have a valid file extension.",
                                             importFile.Path, this.Title), BuildLoggerLevel.Warn);
                    }

                    continue;
                }
                if (includesConceptuals && includesReferences)
                {
                    if (importExt.Equals(BuildFileExts.ConceptualGroupExt,
                                         StringComparison.OrdinalIgnoreCase))
                    {
                        group = new ConceptualGroup();
                    }
                    else if (importExt.Equals(BuildFileExts.ReferenceGroupExt,
                                              StringComparison.OrdinalIgnoreCase))
                    {
                        group = new ReferenceGroup();
                    }
                }
                else if (includesConceptuals)
                {
                    if (importExt.Equals(BuildFileExts.ConceptualGroupExt,
                                         StringComparison.OrdinalIgnoreCase))
                    {
                        group = new ConceptualGroup();
                    }
                }
                else if (includesReferences)
                {
                    if (importExt.Equals(BuildFileExts.ReferenceGroupExt,
                                         StringComparison.OrdinalIgnoreCase))
                    {
                        group = new ReferenceGroup();
                    }
                }

                // Try loading the group, if created...
                if (group != null)
                {
                    group.Load(importFile);
                }

                // Add the group if valid...
                if (group != null && !group.IsEmpty)
                {
                    groups.Add(group);
                }
            }

            return(groups);
        }
Exemplo n.º 9
0
        private static void TestMain(BuildDocumenter documenter,
                                     TestOptions options, ReferenceEngineSettings engineSettings)
        {
            // Decide which version information to use...
            ReferenceVersionType versionType = ReferenceVersionType.Advanced;

            string libraryDir = Path.Combine(sampleDir, @"SampleLibrary\");

            string outputDir  = Path.Combine(libraryDir, @"Output\");
            string projectDoc = Path.Combine(outputDir, "Project.xml");

            ReferenceGroup apiGroup = new ReferenceGroup(
                "Test API References", TestGroupIds.TestLibGroupId);

            apiGroup.RunningHeaderText = "Sandcastle Helpers: Test API Reference";

            if (engineSettings != null && engineSettings.RootNamespaceContainer)
            {
                apiGroup.RootNamespaceTitle = "SampleLibrary Test References";
            }

            ReferenceContent apiContent = apiGroup.Content;

            apiContent.FrameworkType = BuildFrameworkType.Framework35;
            apiContent.AddItem(projectDoc, null);
            apiContent.AddItem(Path.Combine(outputDir, "TestLibrary.xml"),
                               Path.Combine(outputDir, "TestLibrary.dll"));

            apiGroup.AddSnippet(new CodeSnippetContent(Path.Combine(
                                                           libraryDir, "CodeSnippetSample.snippets")));

            string helpTestDir = Path.Combine(sampleDir, @"SampleTopics\");
            string mediaLinks  = Path.Combine(helpTestDir, "MediaContent.media");

            apiGroup.AddMedia(new MediaContent(mediaLinks,
                                               Path.Combine(helpTestDir, "Media")));

            // Create and add an API filter...
            ReferenceNamespaceFilter namespaceFilter =
                new ReferenceNamespaceFilter("TestLibrary", true);

            namespaceFilter.Add(new ReferenceTypeFilter("Point3D", false, false));

            apiContent.TypeFilters.Add(namespaceFilter);

            documenter.AddGroup(apiGroup);

            ReferenceVersionInfo versionInfo = null;

            if (versionType == ReferenceVersionType.Advanced)
            {
                libraryDir = Path.Combine(sampleDir, @"SampleLibraryVersion\");
                outputDir  = Path.Combine(libraryDir, @"Output\");

                apiContent = new ReferenceContent();
                apiContent.FrameworkType = BuildFrameworkType.Framework20;
                apiContent.AddItem(Path.Combine(outputDir, "TestLibrary.xml"),
                                   Path.Combine(outputDir, "TestLibrary.dll"));

                versionInfo = new ReferenceVersionInfo();
                versionInfo.PlatformFilters = true;
                //versionInfo.PlatformId = "netfw";
                versionInfo.PlatformTitle = ".NET Framework";
                //versionInfo.VersionId = "netfw20";
                versionInfo.VersionLabel = "2.0";

                ReferenceVersionSource source = new ReferenceVersionSource();
                //source.VersionId    = "netfw10";
                source.VersionLabel = "1.0";
                source.Content      = apiContent;

                versionInfo.AddSource(source);

                apiGroup.VersionType = versionType;
                apiGroup.VersionInfo = versionInfo;
            }

            if (versionType == ReferenceVersionType.Advanced &&
                versionInfo != null)
            {
                libraryDir = Path.Combine(sampleDir, @"SampleLibrarySilverlight\");
                outputDir  = Path.Combine(libraryDir, @"Output\");

                apiContent = new ReferenceContent();
                apiContent.FrameworkType = BuildFrameworkType.Silverlight40;
                apiContent.AddItem(Path.Combine(outputDir, "TestLibrary.xml"),
                                   Path.Combine(outputDir, "TestLibrary.dll"));

                ReferenceVersionRelated relatedVersion = new ReferenceVersionRelated();
                relatedVersion.PlatformId = "silverlight_mobile";
                //relatedVersion.PlatformTitle = "Silverlight for Windows Phone";

                ReferenceVersionSource source = new ReferenceVersionSource();
                source.VersionId = "silverlight_mobile_v1";
                //source.VersionLabel = "Windows Phone OS 7.0";
                source.Content = apiContent;

                relatedVersion.Add(source);

                versionInfo.AddRelated(relatedVersion);
            }
        }
Exemplo n.º 10
0
        private static void TestSilverlightWPF(BuildDocumenter documenter,
                                               TestOptions options, ReferenceEngineSettings engineSettings)
        {
            if (tocType == CustomTocType.ReferenceRoot)
            {
                return;
            }

            // Decide which Caliburn Micro library to include: Silverlight or WPF
            bool useSilverlight = true;

            string libraryDir = Path.Combine(sampleDir, @"SampleLibrary\");

            if (useSilverlight)
            {
                string outputDir = Path.Combine(libraryDir, @"Libraries\Caliburn.Micro\Silverlight\");
                //string projectDoc = Path.Combine(outputDir, "Project.xml");

                ReferenceGroup apiGroup = new ReferenceGroup(
                    "Test Silverlight 4", Guid.NewGuid().ToString());
                apiGroup.RunningHeaderText = "Sandcastle Helpers: Test Silverlight 4.0";
                //apiGroup.RootTopicId = "d36e744f-c053-4e94-9ac9-b1ee054d8de1";
                apiGroup.SyntaxType        |= BuildSyntaxType.Xaml;
                apiGroup.EnableXmlnsForXaml = true;

                if (engineSettings.RootNamespaceContainer)
                {
                    apiGroup.RootNamespaceTitle = "Caliburn Micro for Silverlight 4.0 v1.0 RTW";
                }

                ReferenceContent apiContent = apiGroup.Content;
                apiContent.FrameworkType = BuildFrameworkType.Silverlight40;

                //apiGroup.AddItem(projectDoc, null);
                //apiContent.AddItem(Path.Combine(outputDir, "Caliburn.Micro.xml"),
                //    Path.Combine(outputDir, "Caliburn.Micro.dll"));
                ReferenceItem refItem = new ReferenceItem(
                    Path.Combine(outputDir, "Caliburn.Micro.xml"),
                    Path.Combine(outputDir, "Caliburn.Micro.dll"));
                //refItem.XamlSyntax = true;
                apiContent.Add(refItem);

                //apiContent.AddDependency(Path.Combine(outputDir, "System.Windows.Interactivity.dll"));

                documenter.AddGroup(apiGroup);
            }
            else
            {
                string outputDir = Path.Combine(libraryDir, @"Libraries\Caliburn.Micro\WPF\");
                //string projectDoc = Path.Combine(outputDir, "Project.xml");

                ReferenceGroup apiGroup = new ReferenceGroup(
                    "Test WPF .NET 4", Guid.NewGuid().ToString());
                apiGroup.RunningHeaderText = "Sandcastle Helpers: Test .NET Framework 4.0";
                //apiGroup.RootTopicId = "d36e744f-c053-4e94-9ac9-b1ee054d8de1";
                apiGroup.SyntaxType        |= BuildSyntaxType.Xaml;
                apiGroup.EnableXmlnsForXaml = true;

                if (engineSettings.RootNamespaceContainer)
                {
                    apiGroup.RootNamespaceTitle = "Caliburn Micro for WPF 4.0 v1.0 RTW";
                }

                ReferenceContent apiContent = apiGroup.Content;
                apiContent.FrameworkType = BuildFrameworkType.Framework40;

                //apiGroup.AddItem(projectDoc, null);
                //apiContent.AddItem(Path.Combine(outputDir, "Caliburn.Micro.xml"),
                //    Path.Combine(outputDir, "Caliburn.Micro.dll"));
                ReferenceItem refItem = new ReferenceItem(
                    Path.Combine(outputDir, "Caliburn.Micro.xml"),
                    Path.Combine(outputDir, "Caliburn.Micro.dll"));
                //refItem.XamlSyntax = true;
                apiContent.Add(refItem);

                //apiContent.AddDependency(Path.Combine(outputDir, "System.Windows.Interactivity.dll"));

                documenter.AddGroup(apiGroup);
            }
        }
Exemplo n.º 11
0
        private static void TestRedirection(BuildDocumenter documenter,
                                            TestOptions options, ReferenceEngineSettings engineSettings)
        {
            if (tocType == CustomTocType.ReferenceRoot)
            {
                return;
            }

            string libraryDir = Path.Combine(sampleDir, @"SampleLibrary\Libraries\");

            string outputDir  = Path.Combine(libraryDir, @"Redirects\");
            string projectDoc = Path.Combine(outputDir, "Project.xml");

            ReferenceGroup apiGroup = new ReferenceGroup(
                "Testing Redirection", Guid.NewGuid().ToString());

            apiGroup.RunningHeaderText = "Sandcastle Helpers: Testing Assembly Redirection";

            apiGroup.SyntaxType        |= BuildSyntaxType.Xaml;
            apiGroup.EnableXmlnsForXaml = true;
            apiGroup.VersionType        = ReferenceVersionType.Assembly;

            if (engineSettings.RootNamespaceContainer)
            {
                apiGroup.RootNamespaceTitle = "Testing Assembly Redirection";
            }

            ReferenceContent apiContent = apiGroup.Content;

            apiContent.FrameworkType = BuildFrameworkType.Framework40;

            apiContent.AddItem(projectDoc, null);
            ReferenceItem refItem = new ReferenceItem(
                Path.Combine(outputDir, "Tests.Drawings.xml"),
                Path.Combine(outputDir, "Tests.Drawings.dll"));

            //refItem.XamlSyntax = true;
            apiContent.Add(refItem);

            //apiContent.AddDependency(Path.Combine(outputDir, "Tests.Shapes.dll"));
            //apiContent.AddDependency(Path.Combine(outputDir, "Tests.Geometries.dll"));

            documenter.AddGroup(apiGroup);

            // Testing embedded documents...
            //apiGroup = new ReferenceGroup(
            //    "Testing Embeddeding", Guid.NewGuid().ToString());
            //apiGroup.ExcludeToc = true; //NOTE!!!
            //apiGroup.RunningHeaderText = "Sandcastle Helpers: Testing Assembly Redirection";

            //apiGroup.SyntaxType |= BuildSyntaxType.Xaml;
            //apiGroup.EnableXmlnsForXaml = true;
            //apiGroup.VersionType = ReferenceVersionType.Assembly;

            //if (engineSettings.RootNamespaceContainer)
            //{
            //    apiGroup.RootNamespaceTitle = "Testing Assembly Redirection";
            //}

            //apiContent = apiGroup.Content;
            //apiContent.FrameworkType = BuildFrameworkType.Framework40;
            //apiContent.AddItem(projectDoc, null);

            //apiContent.AddItem(projectDoc, null);
            //refItem = new ReferenceItem(
            //    Path.Combine(outputDir, "Tests.Shapes.xml"),
            //    Path.Combine(outputDir, "Tests.Shapes.dll"));
            //refItem.XamlSyntax = true;
            //apiContent.Add(refItem);

            //refItem = new ReferenceItem(
            //    Path.Combine(outputDir, "Tests.Geometries.xml"),
            //    Path.Combine(outputDir, "Tests.Geometries.dll"));
            //refItem.XamlSyntax = true;
            //apiContent.Add(refItem);

            //documenter.AddGroup(apiGroup);

            ReferenceLinkSource linkSource = new ReferenceLinkSource();

            refItem = new ReferenceItem(projectDoc, null);
            //refItem.XamlSyntax = true;
            linkSource.Add(refItem);

            refItem = new ReferenceItem(
                Path.Combine(outputDir, "Tests.Shapes.xml"),
                Path.Combine(outputDir, "Tests.Shapes.dll"));
            //refItem.XamlSyntax = true;
            linkSource.Add(refItem);

            refItem = new ReferenceItem(
                Path.Combine(outputDir, "Tests.Geometries.xml"),
                Path.Combine(outputDir, "Tests.Geometries.dll"));
            //refItem.XamlSyntax = true;
            linkSource.Add(refItem);

            engineSettings.AddLinkSource(linkSource);
        }
Exemplo n.º 12
0
        private static void TestOther2(BuildDocumenter documenter,
                                       TestOptions options, ReferenceEngineSettings engineSettings)
        {
            if (tocType == CustomTocType.ReferenceRoot)
            {
                return;
            }

            //string libraryDir = Path.Combine(sampleDir, @"SampleTestLibraryCLR\");
            //string outputDir = Path.Combine(libraryDir, @"Output\");
            //string projectDoc = Path.Combine(outputDir, "Project.xml");

            //string sourceFile =
            //    @"F:\SandcastleAssist\Development\Source\Tests\MvcApplication1\MvcApplication1.sln";
            string sourceFile =
                @"F:\SandcastleAssist\Development\Source\Tests\MvcApplication2\MvcApplication2.csproj";
            ReferenceVsNetSource vsSource = new ReferenceVsNetSource();
            ReferenceVsNetItem   vsItem   = new ReferenceVsNetItem(
                new BuildFilePath(sourceFile));

            vsItem.XamlSyntax = false;
            vsSource.Add(vsItem);

            //CommentContent comments = vsSource.Comments;
            //CommentItem projItem = new CommentItem("R:Project",
            //    CommentItemType.Project);
            //projItem.Value.Add(new CommentPart("Summary of the project",
            //    CommentPartType.Summary));
            //comments.Add(projItem);
            //CommentItem nsItem = new CommentItem("N:TestLibraryCLR",
            //    CommentItemType.Namespace);
            //nsItem.Value.Add(new CommentPart("Summary of the namespace",
            //    CommentPartType.Summary));
            //comments.Add(nsItem);

            ReferenceGroup apiGroup = new ReferenceGroup(
                "Test ASP.NET MVC Library", Guid.NewGuid().ToString(), vsSource);

            apiGroup.RunningHeaderText = "Sandcastle Helpers: ASP.NET MVC";

            apiGroup.VersionType = ReferenceVersionType.AssemblyAndFile;

            if (engineSettings.RootNamespaceContainer)
            {
                apiGroup.RootNamespaceTitle = "Testing ASP.NET MVC";
            }

            //ReferenceContent apiContent = apiGroup.Content;
            //apiContent.FrameworkType = BuildFrameworkType.Framework20;

            //apiGroup.AddItem(projectDoc, null);
            //apiContent.AddItem(Path.Combine(outputDir, "SampleLibraryCLR.xml"),
            //    Path.Combine(outputDir, "SampleLibraryCLR.dll"));

            //apiContent.AddDependency(Path.Combine(outputDir, ""));

            documenter.AddGroup(apiGroup);

            //ReferenceLinkSource linkSource = new ReferenceLinkSource();
            //linkSource.LinkType = BuildLinkType.Msdn;
            //linkSource.Title = "ASP.NET MVC 3 Framework";
            //linkSource.FrameworkType = BuildFrameworkType.Framework40;

            //string aspMVCDir =
            //    @"E:\Program Files\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies";

            //ReferenceItem refItem = new ReferenceItem(
            //    Path.Combine(aspMVCDir, "System.Web.Mvc.xml"),
            //    Path.Combine(aspMVCDir, "System.Web.Mvc.dll"));
            ////refItem.XamlSyntax = true;
            //linkSource.Add(refItem);

            //engineSettings.AddLinkSource(linkSource);

            engineSettings.WebMvcSdkType = BuildSpecialSdkType.WebMvc04;
        }
Exemplo n.º 13
0
        private bool CreateConfiguration(ReferenceGroup group)
        {
            BuildExceptions.NotNull(group, "group");

            BuildContext context = this.Context;

            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.");
            }

            BuildLogger    logger      = context.Logger;
            BuildSettings  settings    = context.Settings;
            BuildStyle     outputStyle = settings.Style;
            BuildStyleType styleType   = outputStyle.StyleType;

            string workingDir = context.WorkingDirectory;
            string configDir  = settings.ConfigurationDirectory;

            if (String.IsNullOrEmpty(workingDir))
            {
                if (logger != null)
                {
                    logger.WriteLine(
                        "The working directory is required, it is not specified.",
                        BuildLoggerLevel.Error);
                }

                return(false);
            }

            string configFile      = String.Empty;
            string finalConfigFile = String.Empty;

            if (!String.IsNullOrEmpty(configDir) && Directory.Exists(configDir))
            {
                configFile = Path.Combine(configDir,
                                          BuildStyle.StyleFolder(styleType) + ".config");
                finalConfigFile = Path.Combine(workingDir, groupContext["$ConfigurationFile"]);
            }
            if (!File.Exists(configFile))
            {
                configFile = String.Empty;
            }

            ReferenceConfigurator assembler = new ReferenceConfigurator();

            try
            {
                assembler.Initialize(context);

                // 3. Configure the build assembler...
                if (!String.IsNullOrEmpty(configFile))
                {
                    assembler.Configure(group, configFile, finalConfigFile);

                    _manifestFile = Path.Combine(workingDir,
                                                 groupContext["$ManifestFile"]);
                    _configurationFile = finalConfigFile;
                }
            }
            finally
            {
                if (assembler != null)
                {
                    assembler.Uninitialize();
                }
            }

            return(true);
        }
Exemplo n.º 14
0
        /// <summary>
        /// This reads and sets its state or attributes stored in a <c>XML</c> format
        /// with the given reader.
        /// </summary>
        /// <param name="reader">
        /// The reader with which the <c>XML</c> attributes of this object are accessed.
        /// </param>
        /// <exception cref="ArgumentNullException">
        /// If the <paramref name="reader"/> is <see langword="null"/>.
        /// </exception>
        public override void ReadXml(XmlReader reader)
        {
            BuildExceptions.NotNull(reader, "reader");

            Debug.Assert(reader.NodeType == XmlNodeType.Element);
            if (reader.NodeType != XmlNodeType.Element)
            {
                return;
            }

            if (!String.Equals(reader.Name, TagName,
                               StringComparison.OrdinalIgnoreCase))
            {
                Debug.Assert(false, String.Format(
                                 "The element name '{0}' does not match the expected '{1}'.",
                                 reader.Name, TagName));
                return;
            }

            // Read the version information of the file group...
            string tempText = reader.GetAttribute("version");

            if (!String.IsNullOrEmpty(tempText))
            {
                _version = new Version(tempText);
            }

            if (reader.IsEmptyElement)
            {
                return;
            }

            if (_listGroups == null || _listGroups.Count != 0)
            {
                _listGroups = new BuildKeyedList <BuildGroup>();
            }
            if (_listSources == null || _listSources.Count != 0)
            {
                _listSources = new BuildKeyedList <BuildGroupSource>();
            }

            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element)
                {
                    if (String.Equals(reader.Name, BuildSettings.TagName,
                                      StringComparison.OrdinalIgnoreCase))
                    {
                        if (_settings == null)
                        {
                            _settings = new BuildSettings();
                        }
                        _settings.ReadXml(reader);
                    }
                    else if (String.Equals(reader.Name, BuildGroup.TagName,
                                           StringComparison.OrdinalIgnoreCase))
                    {
                        BuildGroup group = null;

                        tempText = reader.GetAttribute("type");

                        if (String.Equals(tempText, "Conceptual",
                                          StringComparison.OrdinalIgnoreCase))
                        {
                            group = new ConceptualGroup();
                        }
                        else if (String.Equals(tempText, "Reference",
                                               StringComparison.OrdinalIgnoreCase))
                        {
                            group = new ReferenceGroup();
                        }
                        else
                        {
                            throw new NotImplementedException(tempText);
                        }

                        if (reader.IsEmptyElement)
                        {
                            string sourceFile = reader.GetAttribute("source");
                            if (!String.IsNullOrEmpty(sourceFile))
                            {
                                group.ContentFile = new BuildFilePath(sourceFile);
                                group.Load();
                            }
                        }
                        else
                        {
                            group.ReadXml(reader);
                        }

                        _listGroups.Add(group);
                    }
                    else if (String.Equals(reader.Name, BuildGroupSource.TagName,
                                           StringComparison.OrdinalIgnoreCase))
                    {
                        BuildGroupSource source = BuildGroupSource.CreateSource(
                            reader.GetAttribute("name"));

                        if (source == null)
                        {
                            throw new BuildException(String.Format(
                                                         "The creation of the group source '{0}' failed.",
                                                         reader.GetAttribute("name")));
                        }

                        source.ReadXml(reader);

                        _listSources.Add(source);
                    }
                }
                else if (reader.NodeType == XmlNodeType.EndElement)
                {
                    if (String.Equals(reader.Name, TagName,
                                      StringComparison.OrdinalIgnoreCase))
                    {
                        break;
                    }
                }
            }
        }
Exemplo n.º 15
0
        public StepReferenceInit(ReferenceGroup group)
        {
            BuildExceptions.NotNull(group, "group");

            _group = group;
        }